【问题标题】:Send emails from AWS EC2 instance (SES mandatory?)从 AWS EC2 实例发送电子邮件(SES 强制?)
【发布时间】:2014-07-12 19:23:47
【问题描述】:

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

这与另一个帖子Rails does not send emails on AWS有关

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

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

当我部署到我的生产环境(AWS EC2 实例)时。此功能不起作用。您可以在我上面提供的帖子中查看错误详细信息。该错误与某些smtp connection refused有关。

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

【问题讨论】:

  • 你能发布在生产中发送邮件的代码吗?

标签: ruby-on-rails amazon-web-services amazon-ec2 amazon-ses


【解决方案1】:

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

如果您要向客户发送大量电子邮件,推荐使用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 获得(需要认证)

Seb

【讨论】:

  • 我没有大量的电子邮件要发送给我的客户,也没有营销活动电子邮件,但我的应用程序是预订应用程序,因此,我们的邮件更像是交易性的,例如预订确认电子邮件日期、注册电子邮件等。可能将来我需要带有 SES 的营销电子邮件,但到目前为止,我不确定我们是否需要它。我的意思是,我仍然不确定是否可以在没有 SES 的情况下从我的 EC2 实例发送电子邮件。据我所知,您可以向 AWS 人员提出要求吗?他们是否评估是否允许从 EC2 发送电子邮件?
  • 您的用例是 SES 的典型用例之一 - 确认电子邮件可能是为 SES 设计的大量邮件。
  • 如果您真的想从 EC2 发送电子邮件,请点击我提供的链接并填写表格,要求 AWS Support 取消您的 EIP 的电子邮件限制
【解决方案2】:

正如 sebasto 所写,发送电子邮件是有限的。

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),它正在工作

【讨论】:

  • 我想你的意思是“你的电子邮件”,“你的电子邮件”,对吧?
  • 完美。我的(@gmail)也在工作。它绝对是 Amazon SES 的一个很好的替代品。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-17
  • 2022-05-23
  • 2011-08-07
  • 2020-10-20
  • 2017-11-11
相关资源
最近更新 更多