我有一个使用 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 邮件错误。我也没有收到任何电子邮件。可能是什么问题?
最佳答案
众所周知,在 EC2 上发送邮件非常困难。大多数 EC2 IP 地址都在垃圾邮件黑名单中。这与 PHP mail()
可怕的错误报告相结合导致了非常糟糕的体验。
您需要使用 Amazon Simple Email Service结合EC2。他们最近添加了一个 SMTP service ,这意味着您可以使用任何符合标准的 PHP 邮件库来发送邮件。
个人推荐Swiftmailer为了这个任务。
关于Php mail() 无法正常工作,但 sendmail 可以。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8892742/