【问题标题】:Php mail() is not working but sendmail is.php mail() 不工作,但 sendmail 是。
【发布时间】:2012-02-12 03:29:52
【问题描述】:

我有一个运行 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 邮件错误。我也没有收到任何电子邮件。可能是什么问题?

【问题讨论】:

  • SMTPsmtp_port 仅适用于 Windows,因此从您的配置中删除它们。手动发送时sendmail使用什么参数?
  • 谢谢这是我从 sendmail sendmail mymail@gmail.com 发送的方式 我正在测试 再见! .
  • 我假设/usr/bin/sendmail 确实存在?尝试运行命令locate sendmail 来查看它的位置..
  • /usr/lib/python2.6/site-packages/sos/plugins/sendmail.py /usr/lib/python2.6/site-packages/sos/plugins/sendmail.pyc /usr /lib/python2.6/site-packages/sos/plugins/sendmail.pyo /usr/sbin/sendmail /usr/sbin/sendmail.postfix /usr/sbin/sendmail.sendmail /usr/share/doc/sendmail-8.14 .4

标签: php linux amazon-ec2 sendmail


【解决方案1】:

在 EC2 上发送邮件非常困难。大多数 EC2 IP 地址都在垃圾邮件黑名单中。这与 PHP mail() 可怕的错误报告相结合,导致了非常可怕的体验。

您需要将Amazon Simple Email Service 与 EC2 结合使用。他们最近添加了SMTP service,这意味着您可以使用任何符合标准的 PHP 邮件库来发送邮件。

我个人推荐Swiftmailer 完成这项任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-19
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 2016-09-22
    • 1970-01-01
    相关资源
    最近更新 更多