私が管理しているWebサーバーで、PHPからのメールの送信に問題があります。このサーバーはMTAにexim4を使用しており、正しく構成されています。
PHPのCLIからメールを送信できますが、Webからは送信できません。つまり、コマンドラインで「phpmailtest.php」を実行すると、メールは正しく送信されますが、server.com/mailtest.phpを参照すると、mail()はfalseを返し、メールは送信されません。 eximメインログには何も表示されません。
何かアドバイス、または私が探すべきことはありますか?
ありがとう!
/ etc/php5 /の下に異なるバージョンのphp.iniがあるようです。
debian:/etc/php5# find . | grep php.ini
./cli/php.ini
./Apache2/php.ini
[メール機能]ディレクティブを確認してください
exim
を介してメールを送信するには、PHP構成を変更する必要があります。
Apache2
をWebサーバーとして使用する場合:
; /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