php - 如何为 PHPMailer 设置 DSN(传递状态通知)?

标签 php email smtp phpmailer

我正在尝试了解如何在使用 PHPMailer 时设置 DSN。我知道在 SMTP 协议(protocol)级别,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";

关于php - 如何为 PHPMailer 设置 DSN(传递状态通知)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10384821/

相关文章:

email - Gitlab、docker 和 sendmail 端口

java - 从java发送电子邮件

php - PDO lastInsertId() 总是返回 0

javascript - 在 javascript 中访问对象属性时出现问题显示未定义?

node.js - 如何修复使用 AWS SES 和 Lambda 发送电子邮件的问题?

visual-studio - 以编程方式配置 Outlook 邮件设置?

php - 在继承的 php 类中使用常量

php - 提供 JSONP 是否安全?

php - 在 Laravel 中使用 php 变量发送邮件

python - 使用 Python 的 smtplib 发送电子邮件 - 如何获得适当的登录凭据?