我正在使用基于 Ubuntu 的 ec2 实例,最近我将我的代码转移到 aws 上,但电子邮件功能似乎无法正常工作。我正在使用 gmail SMTP 服务 下面是我的代码
'Smtpmail'=>array(
'class'=>'application.extensions.smtpmail.PHPMailer',
'Host'=>"smtp.gmail.com",
'Username'=>'username',
'Password'=>'password',
'From'=>'from addr',
'setForm'=>'from name',
'Mailer'=>'smtp',
'SMTPSecure'=>'tls',
'Port'=>25,
'SMTPAuth'=>true,
),
this code is working on my unix based server but on aws it is giving below error
邮件程序错误:以下发件人地址失败:test@email.com:未从服务器接受邮件,530,5.5.1 需要身份验证。在 530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 了解更多信息y6sm27370508qen.21 - gsmtp
请帮忙
最佳答案
MAIL not accepted from server
由于过去使用 EC2 实例的人发送的垃圾邮件滥用,几乎所有流行的邮件提供商都阻止接收来自 EC2 实例的电子邮件。电子邮件和反垃圾邮件措施的世界部分是技术性的,部分是政治性的。为此,AWS 提供了 Amazon Simple Email Service。
AWS 与邮件提供商合作以确保 SES 使用的节点已列入白名单,因为我们预先进行了适当的授权/验证。
在这种情况下,从一台服务器而非 AWS 发送电子邮件的能力很可能是由于 EC2 的 IP 范围被谷歌列入黑名单。
Authentication Required
如果相同的用户/通行证在别处工作而无需更改,我不确定该说些什么。我知道很多邮件流量不再使用端口 25
,而是选择 587
用于非 SSL 和 465
用于 SSL。这是我开始寻找解决方案的第一个地方。
关于php - Gmail SMTP 在 ec2 实例中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21087564/