我有一个商务电子邮件ID的gmail,想用它向我的客户发送消息。我正在使用smtp.gmail.com发送来自asp.net mvc应用程序的消息。这在我的本地主机上运行良好。但当我将代码部署到AmazonEC2时,功能就崩溃了。我搜索发现EC2 IP被谷歌列入黑名单。我应该如何解决这个问题?我读到一种方法是使用亚马逊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是这个问题的解决方案,好的是,除非你发送了成千上万封电子邮件中的10封,否则只需要花费你几分钱——它将允许你发送电子邮件,并使其来自(或看起来来自)你的gmail帐户。
第一步是向SES验证您是否拥有/控制要发送的电子邮件地址-这可以通过点击他们发送到该地址的电子邮件中的链接来完成,或者在DNS设置中添加一些TXT条目。如果你控制域,我更喜欢使用DNS方法,这样我就可以验证整个域是否发送电子邮件,而不仅仅是一个帐户,然后你可以做一些事情,比如从sales@mydomain.com','billing@mydomain.com'等等,而不必单独验证每个电子邮件地址。
一旦您的帐户得到验证,使用SMTP选项从SES发送电子邮件与通过任何其他SMTP服务器发送电子邮件完全相同-使用亚马逊的SMTP服务器名称、用户名和密码,然后离开。
非常简单,非常便宜,电子邮件发送速度非常快。
请注意,默认情况下有限制——我认为默认情况下是每秒5次,每月10000次——但如果你有合法的需求,可以提高限制。
此外,一旦您的帐户设置了SES,您就不局限于仅从EC2发送电子邮件。例如,您可以在任何地方使用它-例如,我的outlook电子邮件、我的mac和我的iphone都使用SES作为我的SMTP提供商。
我实际上能够使用EC2实例发送电子邮件。尝试将SMTP服务器编辑为ssl://smtp.gmail.com