我有一个运行RH / Linux的Amazon EC2实例。我的问题是php mail()函数,虽然我可以从命令行用sendmail发送邮件,但它无法正常工作。
我运行此命令。 # telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
XXXXX
我的php.ini设置是
mail function]
SMTP = localhost
smtp_port = 25
sendmail_path = /usr/sbin/sendmail -t -i
mail.add_x_header = On
我无法弄清楚什么是错的。我没有收到任何php邮件错误。我也没有收到任何电子邮件。问题是什么?
答案 0 :(得分:4)
在EC2上发送邮件非常困难。大多数EC2 IP地址都是垃圾邮件黑名单。这与PHP mail()
糟糕的错误报告相结合,会带来非常可怕的体验。
您需要将Amazon Simple Email Service与EC2结合使用。他们最近添加了SMTP service,这意味着您可以使用任何符合标准的PHP邮件库来发送邮件。
我个人建议Swiftmailer执行此任务。