使用 exim4 从 PHP 发送邮件

使用 exim4 从 PHP 发送邮件

我管理的 Web 服务器在使用 PHP 发送邮件时遇到问题。此服务器使用 exim4 作为 MTA,并且配置正确。

我可以从 PHP 的 CLI 发送电子邮件,但不能从 Web 发送电子邮件。例如,如果我在命令行上执行“php mailtest.php”,电子邮件就会正确发送,但如果我浏览到 server.com/mailtest.php,mail() 将返回 false,并且电子邮件永远不会发送。exim 主日志中没有任何内容。

有什么建议或我应该寻找的东西吗?

谢谢!

答案1

听起来你在 /etc/php5/ 下有不同版本的 php.ini

debian:/etc/php5# find . | grep php.ini
./cli/php.ini
./apache2/php.ini

检查[邮件功能]指令

答案2

您应该更改您的 PHP 配置以通过 发送电子邮件exim

如果您用作Apache2网络服务器:

; /etc/php5/apache2/conf.d/mail.ini 
[mail function]
sendmail_path = /usr/sbin/exim4 -t
mail.add_x_header = On
mail.log = syslog

如果你使用nginx+ FPM

; /etc/php5/fpm/conf.d/mail.ini
[mail function]
sendmail_path = /usr/sbin/exim4 -t
mail.add_x_header = On
mail.log = syslog

然后重新启动服务:

sudo service apache2 restart

或者:

sudo service php5-fpm restart

相关内容