我正在尝试了解如何在使用PHPMailer时设置DSN.我知道在SMTP协议级别,DSN是在RCPT TO之后指定的,例如, RCPT TO:NOTIFY = SUCCESS,FAILURE ORCPT = rfc822; recipientemail@gmail.com
此外,如果可能的话,我想将DSN指向发件人地址以外的地址.感谢任何指点,谢谢.
解决方法:
我发现PHPMailer不支持DSN,所以我不得不修改class.smtp.php本身.
原始代码:
fputs($this->smtp_conn,"RCPT TO:<" . $to . ">" . $this->CRLF);
改成:
fputs($this->smtp_conn,"RCPT TO:<" . $to . "> NOTIFY=SUCCESS,FAILURE ORCPT=rfc822;" . $to ."" . $this->CRLF);
至于将DSN引导到发件人地址以外,可以通过定义:
$mail->Sender = "bounced@email.com";