从AWS EC2实例发送电子邮件(SES是强制性的?)

我写这篇文章只是为了看看我是否可以对AWS EC2实例中的电子邮件发送概念做出一些澄清。

这与其他post相关Rails不会在AWS上发送电子邮件

我正在开发一个向客户发送电子邮件的Rails应用程序(例如确认或信息电子邮件)。

我不确切知道哪个电子邮件服务正在使用Rails。 我没有安装任何特定的gem。 但是电子邮件已经在开发环境(Ubuntu)中完美发送。

当我部署到我的生产环境(AWS EC2实例)时。 此function无效。 您可以在我上面提供的post中看到错误详细信息。 该错误与某些smtp connection refused

所以,我已经阅读了其他一些post,但我很困惑。 是否必须使用AWS SES服务才能从EC2实例发送电子邮件? 或者它只是与安全凭证相关的问题(也许我只需要打开smtp 25端口)。 我是否需要安装任何电子邮件客户端或服务器?

从EC2实例发送电子邮件受亚马逊限制,并严格限制在网络级别。 这是为了防止垃圾邮件和其他滥用行为。

如果您有大量电子邮件要发送给您的客户,建议的方法是使用Amazon Simple Email Service 。 使用Amazon SES,您可以发送交易电子邮件,营销信息或任何其他类型的高质量内容,您只需为您使用的内容付费。

如果您确实需要从EC2实例发送电子邮件,则必须使用弹性IP地址并要求Amazon支持从该EIP中删除对SMTP流量的限制。 有关联系我们的表格,请访问https://portal.aws.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request (需要validation)

勒布

正如塞巴斯托写道,发送电子邮件是有限的。

https://aws.amazon.com/ec2/faqs/ =>问:从EC2实例发送电子邮件有任何限制吗?

当然它正在运行,你需要检查你是否安装了SMTP,这可能取决于你何时发送你的电子邮件

试试这段代码:

 [ec2-user@ip ~]$ irb irb(main):001:0> require 'net/smtp' => true irb(main):002:0> Net::SMTP.start('localhost') do |smtp| irb(main):003:1* smtp.send_message 'test from ruby', 'your-email, 'your-email' irb(main):004:1> end 

我的(@gmail)它正在运作