Назад | Перейти на главную страницу

Отправка почты из PHP с помощью exim4

На управляемом мной веб-сервере возникают проблемы с отправкой почты с 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