如何在AWS EC2上使用端口587的Gmail SMTP?

11

我已经在本地服务器上使用了端口为587的Gmail SMTP服务,运行正常。

但是,在AWS EC2实例上却无法正常工作。因此,我在EC2实例安全入站规则中添加了SMTP规则,请参见下面的图片,但SMTP端口无法编辑。

现在的问题是,如果您的域没有配置enter image description here受保护的连接,则Gmail不会提供未经保护的25端口连接。

因此,是否有用25端口的未加密连接或其他方式使用SMTP的方法呢?


你实际上想要达到什么目的还不清楚。你是想使用GMail凭据从EC2发送电子邮件吗?如果这样做不起作用,那么它具体失败在哪里?或者你是想设置你的服务器接受传入的邮件? - Michael - sqlbot
1
我正在尝试使用Gmail凭据从EC2发送电子邮件,并且我使用了587端口进行Gmail SMTP。但是AWS EC2仅允许25个SMTP端口。根据Google文档,Gmail在不安全的连接中不提供25号端口。那么,在AWS EC2上使用587 SMTP端口的其他方法是否存在? - Krupal Patel
4个回答

13

我已经解决了开发服务器的问题。但请注意,这并不是在生产环境中的正确做法。

要使用Gmail SMTP服务从AWS EC2发送电子邮件,请按照以下步骤操作:

  1. 编辑您的EC2实例的安全组。
  2. 编辑安全组的入站规则。
  3. 在入站规则中添加587端口。请参见下面的图片。

你需要设置实例的入站规则以接收邮件和出站规则以发送邮件。

enter image description here

之后,您就可以使用587 SMTP端口从AWS EC2发送电子邮件了。

请阅读此文章:https://support.google.com/accounts/answer/6010255?hl=en

https://myaccount.google.com/lesssecureapps


2
这看起来很奇怪,因为inbound意味着"进入",而sending却更像是"出去",这并不默认限制。这是否意味着您已安装了监听587端口的软件? - Ruslan Neruka
3
我做了如上所示的更新,但邮件仍无法发出。 - Krishna Vedula
尝试了这个,但它没有起作用。@Krupal Patel,请您更新您的答案,提供发送电子邮件的正确方法。 - Omer Waqas Khan
入站的原因是为了握手。如果电子邮件发送客户端没有从SMTP目标处收到回复,那么发送将失败。 - undefined

4
由于历史上有人在使用EC2实例发送垃圾邮件,因此几乎所有流行的邮件提供商都会阻止从EC2实例发送的电子邮件。电子邮件和反垃圾邮件措施是技术和政治的结合体。基于这个原因,AWS 提供了Amazon Simple Email Service。

解决方法:

  1. 前往Google账户设置并开启两步验证。
  2. 为想要发送邮件的应用程序生成应用密码。
  3. 在SMTP中使用相同Email的生成密码来代替登录密码。

就是这样。


我们如何生成应用程序密码? - Anil Kumar
1
@AnilKumar,这是链接 - https://support.google.com/accounts/answer/185833?hl=en - Sunil Kothiyal

2
要在 Amazon EC2 上托管的 C# 中发送电子邮件,请确保完成以下两个步骤。
  1. 在 Web.config 中使用以下设置
<mailSettings>
      <smtp deliveryMethod="Network" from="<from email goes here>">
        <network host="smtp.gmail.com" port="587" enableSsl="true" userName="email id goes here" password="<password goes here> />   
      </smtp>
    </mailSettings>
2. 将上述 Gmail 账户登录到 Amazon EC2。如果您没有登录,则由于安全原因,Gmail 会阻止从代码发送电子邮件。

我们如何从EC2登录到Gmail?选项在哪里? - Anil Kumar
在我的EC2实例上,我只需通过Chrome登录我的Gmail帐户,这对我来说就足够了。 - Paul Karkoska
@AnilKumar,您只需使用EC2上的浏览器登录,然后这个应该就可以工作了。 - Amit Sharma

1

1
Gmail在不安全的连接中不提供25号端口。根据Gmail的“配置要求”,需要使用25号端口安全连接。https://support.google.com/a/answer/176600?hl=en - Krupal Patel
无论AWS声称它能做什么,事实上,无论您的EC2安全设置如何,端口25都被阻止了,而且几乎不可能让AWS为您的实例解封。他们真的非常希望您通过SES发送邮件,您提供的任何理由都不足以让他们给您豁免/例外。 - undefined

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