使用Swiftmailer从Gmail发送电子邮件

3
我正在尝试使用Swiftmailer从Gmail发送电子邮件,但它打印出以下错误:
Fatal error: Uncaught exception 'Swift_TransportException' with message 'Failed to authenticate on SMTP server with username "username@gmail.com" using 2 possible authenticators' in /home/websitename/public_html/cv/Swift-5.1.0/lib/classes/Swift/Transport/Esmtp/AuthHandler.php:184 Stack trace: #0 /home/websitename/public_html/cv/Swift-5.1.0/lib/classes/Swift/Transport/EsmtpTransport.php(312): Swift_Transport_Esmtp_AuthHandler->afterEhlo(Object(Swift_SmtpTransport)) #1 /home/websitename/public_html/cv/Swift-5.1.0/lib/classes/Swift/Transport/AbstractSmtpTransport.php(120): Swift_Transport_EsmtpTransport->_doHeloCommand() #2 /home/websitename/public_html/cv/Swift-5.1.0/lib/classes/Swift/Mailer.php(80): Swift_Transport_AbstractSmtpTransport->start() #3 /home/websitename/public_html/cv/profile2.php(69): Swift_Mailer->send(Object(Swift_Message)) #4 {main} thrown in /home/websitename/public_html/cv/Swift-5.1.0/lib/classes/Swift/Transport/Esmtp/AuthHandler.php on line 184

我的PHP代码:
require_once 'Swift-5.1.0/lib/swift_required.php';
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
      ->setUsername('username@gmail.com')
      ->setPassword('password');

    $mailer = Swift_Mailer::newInstance($transport);
    $message = Swift_Message::newInstance('Wonderful Subject')
      ->setFrom(array('username@gmail.com' => 'Ahmad Shadeed'))
      ->setTo(array('receiver@gmail.com' => 'YOU'))
      ->setBody('This is the text of the mail send by Swift using SMTP transport.');
    $numSent = $mailer->send($message); 

请帮忙解决这个问题,谢谢。

谢谢。


您是否启用了双重身份验证?如果是这样,您不能使用普通密码,必须从谷歌生成一个密码。请参见此链接:https://support.google.com/accounts/answer/1070457?hl=en&ref_topic=1099588 - Austin
@Austin 刚刚检查了我的 Gmail 设置,发现双重验证已被禁用。 - shadeed9
1个回答

6

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接