Archive

Posts Tagged ‘sendmail’

メール関数が機能しない

もの凄いハマりました。

mb_send_mail() でメールを送りたかったのですが、テスト環境で問題なかったプログラムを本番環境にアップして走らせたのですが動かない。

とりあえず、メーラーから送受信チェック。OK
phpinfo() をチェック。sendmail_path が none だったので、php.ini を編集。/usr/sbin/sendmail が表示された。OK
実際に /usr/sbin/sendmail を使って送信チェック。OK

しかし、PHP からは一向にメールが送れない。MTA のログにも何も表示されない。頭を抱えてうんうん唸る。念のため、mail() でもテスト。送れない。

PHP マニュアルを確認。なにかそれっぽい記述を発見。

メール関数を使用可能にするには、PHP のコンパイル時点でシステム上の sendmail バイナリにアクセスできなければなりません。 postfix や qmail など他のメールプログラムを使用してる場合には、 それらのソフトに付随する適当な sendmail ラッパを使用するように 気をつけてください。 PHP は sendmail を探す際にまず PATH を見ます。次に /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib の順で探します。PATH を通して sendmail を使用可能な 状態にしておくことが強く推奨されます。 また、コンパイルされた PHP が sendmail バイナリにアクセスできる権限を 持っていなければなりません。

そういえば、web 周りは一番最初に入れたからなぁ。
PHP をコンパイルし直してインストールしたが、相変わらず送れない。気を取り直して、

# make distclean

してから、もう一回再インストール。

やっと送れるようになりました。