使用Amazon EC2实例发送邮件

时间:2013-11-08 11:50:51

标签: php amazon-web-services amazon-ec2 sendmail

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

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

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

5 个答案:

答案 0 :(得分:32)

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

sudo apt-get install sendmail

这对我有用

答案 1 :(得分:10)

虽然您的问题与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

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

答案 2 :(得分:9)

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

答案 3 :(得分:1)

如果您使用的是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的生产访问。

答案 4 :(得分:-1)

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

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

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

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