首页  >  文章  >  后端开发  >  为什么我的 SwiftMailer 脚本无法通过 Gmail 发送电子邮件?

为什么我的 SwiftMailer 脚本无法通过 Gmail 发送电子邮件?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-28 04:18:01718浏览

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

使用 PHP 的 SwiftMailer 通过 Gmail 发送电子邮件

尝试使用带有 Gmail 帐户的 SwiftMailer 向自身发送电子邮件时出现此问题。根据SwiftMailer的参考对脚本进行了修改,但没有得到任何结果。

问题源于以下行:

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

这行导致代码失败,表明存在问题发送消息。可能是消息没有发送成功,导致程序崩溃。

脚本代码如下:

<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>

为了解决这个问题,代码修改为如下:

<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>

这解决了问题,允许消息成功发送。

以上是为什么我的 SwiftMailer 脚本无法通过 Gmail 发送电子邮件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn