Maison  >  Article  >  développement back-end  >  Pourquoi mon script SwiftMailer ne parvient-il pas à envoyer des e-mails via Gmail ?

Pourquoi mon script SwiftMailer ne parvient-il pas à envoyer des e-mails via Gmail ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-28 04:18:01718parcourir

Why is My SwiftMailer Script Failing to Send Emails via Gmail?

Utiliser SwiftMailer de PHP pour envoyer des e-mails via Gmail

Cette question s'est posée lors de la tentative d'utilisation de SwiftMailer avec un compte Gmail pour s'envoyer un e-mail à lui-même . Des modifications ont été apportées au script en fonction de la référence de SwiftMailer, mais aucun résultat n'a été obtenu.

Le problème provenait de la ligne :

<code class="php">$result = $mailer->send($message);</code>

Cette ligne a provoqué l'échec du code, indiquant un problème avec l'envoi du message. Il est possible que le message n'ait pas été envoyé et que le programme ait planté en conséquence.

Le code du script était le suivant :

<code class="php">require_once '/var/www/swift/lib/swift_required.php';
echo 'Mail sent <br />';

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587)
  ->setUsername('example@gmail.com')
  ->setPassword('password');

echo 'line 40 <br />';
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Wonderful Subject')
  ->setFrom(array('example@gmail.com' => 'Evaluaciones'))
  ->setTo(array('example@gmail.com' => 'A name'))
  ->setBody('Test Message Body');

echo 'line 52 <br />';
$result = $mailer->send($message);
echo $result;
echo 'line 58 <br />';</code>

Pour résoudre ce problème, le code a été modifié comme suit :

<code class="php">$transporter = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
  ->setUsername($this->username)
  ->setPassword($this->password);

$this->mailer = Swift_Mailer::newInstance($transporter);</code>

Cela a résolu le problème, permettant au message d'être envoyé avec succès.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn