配送確認
2008/09/03
Qdsmtpには、相手のサーバーに届いたかどうかを確認する機能があります。0.1.6a以降
RFC規格の説明
SMTP規格(正しくはESMTP)には、相手のサーバーに届いたかどうかを確認するオプションがあります。
RCPT TO <address@example.com> NOTIFY=SUCCESS,FAILURE
と、すると、配送に失敗した時も、成功した時も、SMTPでセットしたRetrun-Path(From)にメールを返してくれます。
指定の方法
$smtp -> alwaysNotifySuccess( true );
または、ソースの
var $always_notify_success = false;
をtrueに変更してください。
0.1.7a以降では下記の指定もできます。
$param = array(
'host'=>'smtp.example.com',
'port'=> 25 ,
'from'=>'from@example.com',
'protocol'=>'SMTP',
'always_notify' => true,
);
$smtp = & new QdSmtp($param);
注意点
ESMTPに対応したサーバーでないとこの値は無視されますので、相手方が古いサーバーを使っている場合にはメールはきません。
デフォルトでは、NOTIFY=FAILUREであり、エラーの時のみエラーメッセージが返ってくるようになっています。
返送される先のアドレスは、ヘッダーのFromではなく、エンベロープのFrom(Return-Path)であることに十分注意してください。