馬とテニスのIT革命
馬とテニスとリラックマが好きな IT 系のエンジニアです。
PHP

さくらインターネットでPHPからsendmail

さくらインターネットの共有サーバ上で PHP の mb_send_mail() を使っていたら、ステータス 500 の Internal Server Error が出るようになりました。

メール自体は送れますが、その直後のプログラムは実行されずにエラーが発生します。

今回はこの原因の調査をしてみました。

エラーログの確認

共有サーバもエラーログの参照は提供されていますが、それほど詳細なログの入手はできません。

そこで独自にログをファイルに吐いたり、PHP 以外に参考になるログを探して解決に至りました。

さくらインターネットに問い合わせても、アプリ依存だと解決も難しいでしょうしね・・・。

エラーの原因

いくつか参照したファイルの中で、原因究明の材料となったのが dead.letter です。

dead.letter は sendmail のエラーが書き込まれるファイルなので、メール送信時の状況を検証してみました。

原因は、メールヘッダに定義する From や Reply_To に存在しないメールアカウントを使用していたこと。

まだ正式なメールアドレスを決めていたなかったので、取り急ぎダミーのアドレスを From や Reply_To に代用していたのですが、それが今回のエラーの原因になったようです。

Web API The Good Parts

オライリーの「Web API」に特化した本です。最近の多くの Web サービスは API が活用されていますが、その技術はこれまでの Web サイトとそれほど大きく変わりません。

今後、マイクロサービス化が進む中で知っておいて損はない内容が詰め込まれており、現場のエンジニアやこれから Web 系のエンジニアを目指す人にもオススメの一冊です。

created by Rinker
¥2,376
(2018/10/19 13:59:11時点 Amazon調べ-詳細)

あなたにオススメ