Gmail SMTP无法在ec2实例中使用

Vid*_*Vid 3 php smtp amazon-ec2 amazon-web-services

我正在使用基于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
Run Code Online (Sandbox Code Playgroud)

邮件程序错误:以下发件人地址失败:test@email.com:MAIL未被服务器接受,530,5.5.1需要验证.如需了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 y6sm27370508qen.21 - gsmtp

请帮忙

Rya*_*man 12

MAIL不接受服务器

由于历史上使用EC2实例发送的垃圾邮件滥用,几乎所有流行的邮件提供商都阻止从EC2实例接收电子邮件.电子邮件和反垃圾邮件措施的世界是部分技术的,部分政治的.因此,AWS提供Amazon Simple Email Service.

AWS与邮件提供商合作,确保SES使用的节点已列入白名单,因为我们会事先进行适当的授权/验证.

在这种情况下,从一个服务器而不是AWS发送电子邮件的能力很可能是由于EC2的IP范围被Google列入黑名单.

需要验证

如果相同的用户/通行证在其他地方没有变化,我不知道该说些什么.我知道很多很多邮件流量不再使用端口25,而是选择587非SSL和465SSL.这是我开始寻找解决方案的第一个地方.


Tyl*_*zzi 5

在 AWS Lambda 上使用 TLS 连接(端口号:587)。

我是如何解决这个问题的:

  1. 在您的 GMAIL 帐户中,启用两步验证。当您转到帐户的常规设置时,可以在安全设置下找到它。
  2. 创建新的应用程序密码。(该字段位于 2 因子的正下方)。你可以随意称呼它。只要确保复制它即可。
  3. 使用它作为您以前的密码。

我这样做了,我可以毫无问题地从 AWS Lambda 发送电子邮件。

注意:您无法为此选项启用“安全性较低的应用程序”。这将要求您为使用此电子邮件的每个应用程序使用应用程序密码。我必须为使用随机 Gmail 帐户的不同应用程序设置几个不同的密码。

我从SMTP Authentication Error 534中得到了这个想法。


归档时间:

查看次数:

17133 次

最近记录:

7 年,7 月 前