[PHP-users 11643] Re: メール送信の成功・失敗

naoki kishida php-users@php.gr.jp
Thu, 21 Nov 2002 13:01:43 +0900


きしだです

> 「mail() は、メール送信に成功した場合に TRUE 、 
> それ以外の場合に FALSE を返します。 」
> と書いてあります。
> この成功・失敗ですが、どういった状態で失敗という結果が返ってくるのでしょ
> うか。

結局SMTPが受け取ってくれたら成功ということになるようです。

> できれば、メール送信が失敗したら(送信先ユーザのメールボックスにメールが
> 届かなかったら)、それを検出して失敗時の処理をしたいと思っています。
> こういったことをする場合にはmail関数に頼らず、SMTPで直接通信したほうがよ
> いのでしょうか。

メール送信の失敗はタイムラグのある処理なので、関数の戻り値などでは判断が
できません。
エラーメールが帰ってきたら送信できなかったとみなす必要があります。

もちろん、確実に届いたかどうかを検証する方法はありません。
確実にわかるのは、「エラーメールを受け取っていない」という事実だけです。

----
岸田 哉生(きしだ なおき)
	email:kishida@fk.urban.ne.jp
	http://www.fk.urban.ne.jp/home/kishida/