使用 Amazon EC2 实例发送邮件

Posted

技术标签:

【中文标题】使用 Amazon EC2 实例发送邮件【英文标题】:Send Mail Using Amazon EC2 Instance 【发布时间】:2013-11-20 10:15:39 【问题描述】:

我在我的一个项目中使用 Amazon EC2 实例,我已经在 linux 服务器上安装了 LAMP,现在当我尝试使用简单功能发送电子邮件时,它没有发送电子邮件也没有给出任何错误。

到目前为止我所做的事情。

已创建 SES 帐户。 使用了简单的邮件功能。 在安全组中启用端口 25。

【问题讨论】:

将sendmail安装为***.com/a/24790187/248616下面回答比使用SES要好得多我认为 【参考方案1】:

我只是通过在我的实例中安装 sendmail 解决了这个问题。只需在终端中运行以下命令

sudo apt-get install sendmail

这对我有用

【讨论】:

非常感谢!这对我来说很简单,无需使用 SES! 我按照他们使用 Postfix/SES 的教程进行操作,我花了很长时间来设置它,几个小时。这需要几秒钟! 如果您在 ec2 实例上,请使用 sudo yum install sendmail 简单最好的:)谢谢【参考方案2】:

如果您使用的是 amazon ec2 ami/linux 发行版,请在 SSH 中使用“sudo yum install sendmail”

【讨论】:

对于 AWS EC2 上的 Ubuntu,使用; sudo apt-get install sendmail【参考方案3】:

虽然您的问题与 Sendmail 有关,但您是否尝试过遵循 Amazons 文档?

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp-app.html

这使用后缀,但它似乎是一个更好的选择,并且有现成的帮助。

您也可以使用 SMTP,因为 Amazon SES 支持:

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html

我知道这并不能直接回答您的问题。您可能只需要在php.ini 中配置mail 设置。

【讨论】:

谢谢哥们,我已经安装了“POSTFIX”,现在它工作正常 如果一切都已解决,您可能希望接受答案【参考方案4】:

如果您使用的是 AWS SES,则需要确保先验证帐户:

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html

除了包含标签的地址(见下文)之外,您必须验证将用作邮件“发件人”或“返回路径”地址的每个电子邮件地址。 整个电子邮件地址区分大小写。例如,如果您验证了 sender@example.com,则您无法从 sender@EXAMPLE.com 发送电子邮件,除非您也验证了 sender@EXAMPLE.com。 (但是,域验证不区分大小写。有关更多信息,请参阅在 Amazon SES 中验证域。)

在您被授予对 Amazon SES 的生产访问权限之前,您还必须验证每个收件人的电子邮件地址,Amazon SES 邮箱模拟器提供的收件人除外。有关邮箱模拟器的更多信息,请参阅测试 Amazon SES 电子邮件发送。有关生产访问权限的更多信息,请参阅请求对 Amazon SES 的生产访问权限。

【讨论】:

【参考方案5】:

或者,可以按照以下链接中提到的说明进行操作。在这种方法中,不需要安装 postfix、sendmail 或任何其他邮件服务器。

它使用 PHPMailer 类使用 SMTP 接口通过 Amazon SES 发送电子邮件。

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-using-smtp-php.html

我花了一整天的时间才找到这个更简单的解决方案。

【讨论】:

以上是关于使用 Amazon EC2 实例发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

使用第三方 smtp 服务器时的 AWS EC2 电子邮件发送限制

aws ec2使用ses邮件服务的坑

仅使用实例角色从 Java 应用程序向 SES 发送邮件

电子邮件已验证,但我仍然无法使用 Amazon SES 发送电子邮件

Amazon SES:发送电子邮件标头

使用 PHP 开发工具包从 Amazon SES 发送 HTML 邮件