gpt4 book ai didi

php - 为什么我不能在我的托管域中使用 swiftmailer 发送邮件,但从我的本地主机服务器发送邮件时却没有错误

转载 作者:行者123 更新时间:2023-12-05 07:51:04 25 4
gpt4 key购买 nike

我已经使用此代码从我的本地主机服务器发送邮件,但是当我尝试使用上传到我的托管服务器(使用 cpanel)的相同代码发送完全相同的邮件时,我收到这些错误:

<b>Fatal error</b>: Uncaught exception 'Swift_TransportException' with message 'Failed to authenticate on SMTP server with username &quot;mail@gmail.com&quot; using 2 posible authenticators' in /home/USER/public_html/mailFolder/swiftmailer-5.x/lib/classes/swift/Transport/Esmtp/AuthHandeler.php:181
Stack trace:
#0/home/USER/public_html/mailFolder/swiftmailer-5.x/lib/classes/swift/Transport/EsmtpTransport.php(333):
Swift_Transport_Esmtp_authHandeler-&gt;afterEhlo(Object(Swift_SmtpTransport))
#1/home/USER/public_html/mailFolder/swiftmailer-5.x/lib/classes/swift/Transport/AbstractSmtpTransport.php(118):
Swift_Transport_EsmtpTransport-&gt;_doHeloCommand()
#2/home/USER/public_html/mailFolder/swiftmailer-5.x/lib/classes/swift/Mailer.php(79):Swift_transport_abstractSampTransport-&gt;start()
#3/home/USER/public_html/mailFolder/sendMyMail.php(109):swift_mailer-&gt;send(Object(swift_message))
#4{main}
thrown in <b>/home/USER/public_html/mailFolder/swiftmailer-5.x/lib/classes/swift/Transport/Esmtp/AuthHandler.php</b> on line <b>181</b>

代码如下:

$transport = Swift_SmtpTransport::newInstance()
->setHost('smtp.gmail.com')
->setPort('587')
->setEncryption('tls')
->setUsername('mail@gmail.com')
->setPassword('password')
;
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance()
->setSubject($title)
->setFrom(array('mail@gmail.com' => 'myMail'))
->setTo(array($res => 'TO: '))
->setBody($body,'text/html');
$headers = $message->getHeaders();
$headers->addTextHeader('Content-Type', 'text/html');

$result = $mailer->send($message);
echo $result."<br/>";

我到这里来解除对服务器的 IP 封锁: http://www.google.com/accounts/DisplayUnlockCaptcha

并且我还启用了“访问安全性较低的应用程序” https://www.google.com/settings/security/lesssecureapps

最佳答案

尝试将您的端口更改为 465 并将主机更改为 ssl://smtp.gmail.com。看看它是否有效。

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
->setUsername('YOUR_GMAIL_USERNAME')
->setPassword('YOUR_GMAIL_PASSWORD');

关于php - 为什么我不能在我的托管域中使用 swiftmailer 发送邮件,但从我的本地主机服务器发送邮件时却没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35544892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com