На управляемом мной веб-сервере возникают проблемы с отправкой почты с PHP. Этот сервер использует exim4 для MTA, и он настроен правильно.
Я могу отправлять электронные письма из интерфейса командной строки PHP, но не из Интернета. т.е. если я введу "php mailtest.php" в командной строке, электронное письмо будет отправлено правильно, но если я перейду на server.com/mailtest.php, mail () вернет false и письмо никогда не будет отправлено. В главном журнале exim ничего не отображается.
Есть какой-нибудь совет или то, что мне следует искать?
Спасибо!
Похоже, у вас есть разные версии php.ini, расположенные в / etc / php5 /
debian:/etc/php5# find . | grep php.ini
./cli/php.ini
./apache2/php.ini
Проверьте директиву [mail function]
Вам следует изменить конфигурацию 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