情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

WordPress:コメント通知メールが届かない原因と対策

sendmail (1) Ubuntu (19) WordPress (76) さくらのVPS (5) メール (9)

WordPressのコメント通知メールが届いていないことに気が付いたので、原因を調べ、対策をしました。Ubuntu 14.04。

メールが届かない

WordPressの「一般設定>メールアドレス」に自分のメールアドレスを設定しておくと、コメントが付いたときに、メールが送信されます。

しかし、サーバーを移転してから、メールが届かなくなっていました。

エラーログを見てみる

「/var/log/apache2/error.log」を見てみると、「sh: 1: /usr/sbin/sendmail: not found」というエラーログが、ずらっと並んでいました。

どうやら、今回導入したUbuntu 14.04 に、sendmailコマンドがインストールされていなかったようです。

phpinfo() も確認

ついでに phpinfo の 「sendmail_path」の情報を確認してみると確かに「/usr/sbin/sendmail -t -i」と設定されており、確かにsendmailコマンドがないことが原因のようでした。

sendmailをインストールする

次のコマンドで、sendmailコマンドをインストールしました(NEW packages will be installed: m4 make procmail sendmail sendmail-base sendmail-bin sendmail-cf sensible-mda)

$ sudo apt-get install sendmail

sendmailの送信テスト

phpからmail()が実行されて、そこからsendmailが実行されるのですが、ひとまずsendmailからメールがちゃんと届くかを、次のコマンドで確認しました(ポート25ブロッキングなどのチェック)。

$ echo "test" | sendmail -t -i did2@example.com

※「did2@example.com」は、テストメールの送信先。

apacheの再起動

不要かもしれませんが、「% sudo service apache2 graceful」で再起動しました。

メール受信成功

コメントのメールが届きました。

成功です。

コメント(0)

新しいコメントを投稿