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

时间:2015-02-22 10:44:08

标签: asp.net-mvc amazon-web-services amazon-ec2 smtp amazon-ses

我有一个gmail for business emailId,并希望用它向我的客户发送消息。我正在使用smtp.gmail.com从asp.net mvc应用程序发送消息。这在我的localhost上工作正常。但是当我将代码部署到Amazon EC2时,功能就破了。我搜索并发现EC2 IP被谷歌黑名单。我该怎么解决这个问题?我读到一种方法是使用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;

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

2 个答案:

答案 0 :(得分:7)

SES是这个问题的解决方案,然后好消息是,除非你发送成千上万封电子邮件,否则只需花费几分钱便可用 - 它会让你发送电子邮件,并让它来自(或者似乎来自)您的Gmail帐户。

第一步是向SES验证您拥有/控制您要发送的电子邮件地址 - 可以通过单击他们发送到该地址的电子邮件中的链接来完成,或者向您的帐户添加一些TXT条目DNS设置。如果您控制域名,我更喜欢使用DNS方法,以便我可以验证整个域名以发送电子邮件,而不仅仅是一个帐户 - 然后您可以执行诸如发送'sales@mydomain.com','billing @ mydomain.com'等不需要单独验证每个电子邮件地址。

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

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

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

此外,一旦您的帐户设置了SES,您不仅可以从EC2实例发送电子邮件,您可以在任何地方使用它 - 例如我的Outlook电子邮件,我的Mac和我的iPhone都使用SES作为我的SMTP提供商

答案 1 :(得分:-1)

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