我pipe理的Web服务器在从PHP发送邮件时遇到问题。 此服务器使用exim4 MTA,并configuration正确。
我可以从PHP的CLI发送电子邮件,但不能从networking发送。 即如果我在命令行上执行“php mailtest.php”,电子邮件将被正确发送,但是如果我浏览到server.com/mailtest.php,mail()将返回false,并且邮件永远不会被发送。 没有出现在exim mainlog中。
任何build议,或我应该寻找的东西?
谢谢!
这听起来像你有不同版本的php.ini位于/ etc / php5 /
debian:/etc/php5# find . | grep php.ini ./cli/php.ini ./apache2/php.ini
检查[邮件function]指令
你应该改变你的PHPconfiguration,通过exim
发送邮件。
如果您使用Apache2
作为networking服务器:
; /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