J'essaie d'envoyer des e-mails à l'aide de Swiftmailer
.
Je reçois une erreur non interceptée:
Appel à la méthode non définie Swift_SmtpTransport :: newInstance ().
Voici le code:
require_once 'Swift/lib/Swift_required.php';
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
->setUsername ('[email protected]')
->setPassword ('password');
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Weekly Hours')
->setFrom (array('[email protected]' => 'My Name'))
->setTo (array('[email protected]' => 'Recipient'))
->setSubject ('Weekly Hours')
->setBody ('Test Message', 'text/html');
$result = $mailer->send($message);
D'après le code ci-dessus, quelle serait la cause de cette erreur?
Je ne connais pas très bien SwiftMailer, mais à partir du bref aperçu de l'erreur que vous avez fournie et de leur page de documentation, je peux vous suggérer d'essayer d'utiliser l'opérateur new
. D'après l'erreur, il est clair que la classe Swift_SmtpTransport
N'a pas de méthode newInstance
, donc lorsque vous l'utilisez pour créer une nouvelle instance, elle génère une erreur. Essayez peut-être d'utiliser ceci à la place:
require_once 'Swift/lib/Swift_required.php';
$transport = new Swift_SmtpTransport('smtp.gmail.com', 465, 'ssl');
$transport->setUsername('[email protected]')->setPassword('password');
$mailer = new Swift_Mailer($transport);
$message = new Swift_Message('Weekly Hours');
$message
->setFrom(['[email protected]' => 'My Name'])
->setTo(['[email protected]' => 'Recipient'])
->setSubject('Weekly Hours')
->setBody('Test Message', 'text/html');
$result = $mailer->send($message);
Edit: PHP Ne permet pas un appel direct de méthode après l'instanciation d'un objet (sans parenthèses). Merci, Art Geigel.