配送確認

2008/09/03 未分類 spok

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)であることに十分注意してください。

参考サイト

RFC1891日本語参考訳