从 Amazon EC2 实例使用 smtp gmail 服务器发送电子邮件

Sending email using smtp gmail server from Amazon EC2 instance

我有一个用于企业 emailId 的 gmail,想用它向我的客户发送消息。我正在使用 smtp.gmail.com 从 asp.net mvc 应用程序发送消息。这在我的本地主机上运行良好。但是当我将代码部署到 Amazon EC2 时,功能出现了问题。我搜索并发现 EC2 IP 被 google 列入黑名单。我应该如何解决这个问题?我读到一种方法是使用 Amazon SES,但谁能告诉我它是如何工作的?它只是一个验证策略执行的东西,它是否支持从所述 gmail 帐户发送电子邮件?还有其他解决方法吗?

编辑 1:按照建议,我已联系亚马逊提供生产访问权限。正在处理中。

与此同时,我发现我可以从我的应用程序发送邮件。这些是我的设置 -

WebMail.SmtpServer = "smtp.gmail.com";
WebMail.SmtpPort = 587;
WebMail.EnableSsl = true;
WebMail.UserName = "me@example.com";
WebMail.From = "me@example.com";
WebMail.Password = "MyPassword";
WebMail.SmtpUseDefaultCredentials = false;

为什么它突然起作用是有原因的。这是间歇性的还是我可以继续使用它?

SES 是这个问题的解决方案,而且好消息是,除非您要发送成千上万封电子邮件,否则它只会花费您几美分 - 它可以让您发送一封电子邮件,并让它成功来自(或看似来自)您的 Gmail 帐户。

第一步是向 SES 验证您 own/control 您要发送的电子邮件地址 - 这可以通过单击他们发送到该地址的电子邮件中的 link 来完成,或者将一些 TXT 条目添加到您的 DNS 设置中。如果您控制该域,我更喜欢使用 DNS 方法,这样我就可以验证发送电子邮件的整个域,而不仅仅是一个帐户 - 然后您可以执行诸如从 'sales@mydomain.com'、'billing@mydomain.com' 发送之类的操作等 w/out 必须单独验证每个电子邮件地址。

验证帐户后,使用 SMTP 选项从 SES 发送电子邮件与通过任何其他 SMTP 服务器发送电子邮件完全相同 - 使用亚马逊的 SMTP 服务器名称、用户名和密码,然后就可以了。

非常简单,非常便宜,而且电子邮件发送速度非常快。

请注意默认情况下存在限制 - 我相信默认情况下为 5/秒和 10,000/月 - 但如果您有合法需要,可以提高。

此外,一旦您的帐户设置了 SES,您就不仅限于从 EC2 实例发送电子邮件,您可以在任何地方使用它 - 例如我的 outlook 电子邮件、我的 mac 和我的 iphone 都使用 SES 作为我的 SMTP 供应商。

我实际上能够使用 EC2 实例发送电子邮件。尝试将您的 SMTP 服务器编辑为 ssl://smtp.gmail.com