PHPでPear Mail機能を使ってDSN通信を設定できるかご存知ですか?
説明: telnet セッションで次のコードを記述した場合:
telnet smtp.example.com 25
[...]
mail from: me@example.com
250 2.1.0 Ok
rcpt to: you@fakemail.com NOTIFY=SUCCESS,FAILURE,DELAY ORCPT=rfc822;you@fakemail.com
250 2.1.5 Ok
[]
私のsmptサーバーが電子メールを送信すると、受信者のSMTPサーバーからステータスコード(中継、失敗など)を含む通知メールを受け取りました。今、私は Pear Mail を使用して同じことをしたいのですが、このオプションを配置した場所が見つかりません。
これは私のコードです:
$messageTEXT= "..." // text_message
$messageHTML="..." // html message
$headers=array();
$headers['From'] = "me@example.com";
$headers['To'] = "you@fakemail.com";
$headers['Subject'] = "Test mail";
$headers['X-Mailer']="My PHP mailer";
$headers['X-Priority']=3;
$headers['Errors-To'] = "me@example.com";
$headers['Return-Path'] = "me@example.com";
$headers['Disposition-Notification-To'] = "me@example.com";
$message = new Mail_mime();
$message->setTXTBody($messageTEXT);
$message->setHTMLBody($messageHTML);
$mimeparams=array();
$mimeparams['charset']= "UTF-8";
$mimeparams['text_encoding']="8bit";
$mimeparams['text_charset']="UTF-8";
$mimeparams['html_charset']="UTF-8";
$body = $message->get($mimeparams);
$headers = $message->headers($headers);
$smtp = Mail::factory(
'smtp',
array(
'host' => "smtp.example.com",
'port' => "25",
'auth' => true,
'username' => "myuser",
'password' => "mypass")
);
$mail=$smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
print ("Error");
return false;
}