10

我在本地服务器上使用了带有端口 587 的 Gmail SMTP 服务,它工作正常。

但它不适用于 AWS EC2 实例。所以我在 EC2 实例安全入站规则上添加了 SMTP 规则,见下图,但 SMTP 端口无法编辑。

现在的问题是如果您的域没有配置在此处输入图像描述安全连接。Gmail 在不安全的连接中不提供端口 25。

因此,有任何方法可以在 25 端口或任何其他方式的不安全连接上使用 SMTP。

4

4 回答 4

12

到目前为止,我已经解决了开发服务器的问题。拜托,这不是通往生产现场的正确方式。

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

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

您需要为传入的邮件和出站设置您的实例入站规则以进行发送。

在此处输入图像描述

之后,您可以使用来自 AWS EC2 的 587 SMTP 端口发送电子邮件。

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

https://myaccount.google.com/lesssecureapps

于 2017-07-13T07:32:10.477 回答
4

由于过去使用 EC2 实例的人发送的垃圾邮件滥用,几乎所有流行的邮件提供商都阻止接收来自 EC2 实例的电子邮件。电子邮件和反垃圾邮件措施的世界部分是技术性的,部分是政治性的。出于这个原因,AWS 提供了 Amazon Simple Email Service。

修复它的步骤-

  1. 转到谷歌帐户设置并打开两步验证。
  2. 现在为您要发送邮件的应用程序生成应用程序密码。
  3. 在 SMTP 中使用为应用程序生成的密码和相同的电子邮件。

而已。

于 2020-02-05T11:57:19.973 回答
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>
  1. 将上述 gmail 帐户登录到 Amazon EC2。如果您没有登录,则由于安全原因,gmail 会阻止从代码发送的电子邮件。
于 2019-05-21T02:13:44.770 回答
1

根据 Google 的文档,您可以通过端口 25 使用 G Suite SMTP 中继服务。您可以在此处阅读更多信息:

https://support.google.com/a/answer/176600?hl=en

和这里:

https://support.google.com/a/answer/2956491

希望这可以帮助!

于 2017-07-11T14:27:56.123 回答