使用 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中文网其他相关文章!