我在我的一个项目中使用 Amazon EC2 实例,我已经在 linux 服务器上安装了 LAMP,现在当我尝试使用简单功能发送电子邮件时,它没有发送电子邮件也没有给出任何错误。
到目前为止我所做的事情。
- 创建 SES 帐户。
- 使用了简单的邮件功能。
- 在安全组中启用端口 25。
我在我的一个项目中使用 Amazon EC2 实例,我已经在 linux 服务器上安装了 LAMP,现在当我尝试使用简单功能发送电子邮件时,它没有发送电子邮件也没有给出任何错误。
到目前为止我所做的事情。
我只是通过在我的实例中安装 sendmail 解决了这个问题。只需在终端中运行以下命令
sudo apt-get install sendmail
这对我有用
如果您使用的是 amazon ec2 ami/linux 发行版,请在 SSH 中使用“sudo yum install sendmail”
尽管您的问题与 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
.
如果您使用的是 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 的生产访问。
或者,可以按照以下链接中提到的说明进行操作。在这种方法中,不需要安装 postfix、sendmail 或任何其他邮件服务器。
它使用 PHPMailer 类使用 SMTP 接口通过 Amazon SES 发送电子邮件。
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-using-smtp-php.html
我花了一整天的时间才找到这个更简单的解决方案。