[PHP-users 16069]Re: mb_send_mail()がsendmailが停止していても True を返す
Y.Watanabe
yuw @ msj.biglobe.ne.jp
2003年 6月 20日 (金) 12:38:36 JST
わたなべです。
おそらく、sendmailの、デーモンとして稼動している場合と
コマンドラインを直接叩いて起動する場合との違いと
それらのPHPとの関連に誤解があるのでしょう・・・(?)
"Takeo Nishida" wrote on 2003/06/20 12:09
with Subject: [PHP-users 16067]mb_send_mail() がsendmailが停止していても
True を返す
>現在、RedhatLinux9、Apache2.0.45、PHP4.3.1、sendmail8.12.9 の
>組み合わせでサーバを構築しています。
>ここで、PHPによる単純な問い合わせフォームを作り、
>最後のメール送信に mb_send_mail() を使用しました。
>
>このフォームからのメール送信は正常に動作しましたが、
>テストしていて、サーバの sendmail が停止していても
>mb_send_mail() がTrueを返してしまうことが分かりました。
>
>これでは、sendmail停止時にユーザのフォームからの問い合わせを
>送信失敗としてユーザに通知できません。(泣)
「sendmail停止時に」というのはつまり
「sendmailがsmtpデーモンとして常駐している状態を停止させた」
ということなのでしょう。
しかしそんな場合でも、sendmailそのもの、実行形式ファイルそのもの、
つまり/usr/lib/sendmailとかはちゃんと存在するわけで(あたりまえ)
それをコマンドとして直接叩けば、デーモンとして起動していなくても
単発的なコマンドとしてはちゃんと起動しちゃいます。
そしてPHPのメール関数は、sendmailコマンドを直接起動して
メール送信させているだけです。smtpデーモンと通信して
送信を依頼しているわけではないはずです。(僕の理解が確かなら^^;)
http://jp.php.net/manual/ja/ref.mail.php
ということは、
>テストしていて、サーバの sendmail が停止していても
>mb_send_mail() がTrueを返してしまうことが分かりました。
というのも道理です。
じゃあ、
>・mb_send_mail() がsendmail停止時にFalseを返すのに必要な設定があるかどうか。
>・メールの送信失敗時にその失敗を検出する方法。
と言われると僕も?です。^^;)
#前に似たような話題がこのMLで
#あったような・・・・気がするだけかな?^^;;)
#Win32なシステムだとまたちょっと話が違ってくる・・・ような気がする
PHP-users メーリングリストの案内