PHP Mailer --- 回复:--- Return-path --- SetFrom

Posted

技术标签:

【中文标题】PHP Mailer --- 回复:--- Return-path --- SetFrom【英文标题】:PHP Mailer --- Reply-to: --- Return-path --- SetFrom 【发布时间】:2013-04-12 08:36:23 【问题描述】:

我正在通过 php Mailer 发送邮件。 http://phpmailer.worxware.com/

我希望能够将 From 设置为一封电子邮件,将 REPLY-TO 设置为另一封电子邮件,并将 RETURN-PATH 设置为另一封电子邮件。

主要是.. 我希望退回的电子邮件发送到类似 BOUNCEDemails@bademail.com 我希望 RETURN PATH 可以做到这一点。

如果收到电子邮件的用户我不希望他们从 BOUNCEDemails 等中看到它,我想给他们一个选项来回复真实的电子邮件地址。

我需要将退回的电子邮件转到单独的电子邮件,因为我不希望回复收到许多不良电子邮件。等等。

这是我所拥有的:不起作用

$mail->AddAddress('ed@RealEmail.org', 'John Doe');
$mail->AddReplyTo('replytoMe@email.com', 'Reply to email');
$mail->SetFrom('mailbox@email.com', 'From Name and Email');
$mail->AddCustomHeader('Return-path: BOUNCEDemails@bademail.com');

上面的代码回复 SetFrom 并将所有退回邮件发送给 SetFrom。任何想法如何将两者分开?谢谢

【问题讨论】:

检查您使用的是最新版本的 PHPMailer:github.com/Synchro/PHPMailer 【参考方案1】:

正确的设置方法(截至 2013 年 7 月)是使用:

$mail->ReturnPath='bounce_here@domain.com';

phpmailer 源代码包含以下内容,这是不言自明的:

if ($this->ReturnPath) 
  $result .= $this->HeaderLine('Return-Path', '<'.trim($this->ReturnPath).'>');
 elseif ($this->Sender == '') 
  $result .= $this->HeaderLine('Return-Path', '<'.trim($this->From).'>');
 else 
  $result .= $this->HeaderLine('Return-Path', '<'.trim($this->Sender).'>');

【讨论】:

截至 2014 年 11 月,这似乎已弃用 phpmailer.github.io/PHPMailer/classes/… 我认为这是错误的。 Return-Path 由接收 MTA 基于 Sender 标头设置,并且您设置的任何 Return-Path 标头都将被忽略。这就是 PHPMailer 弃用该功能的原因,他们的内联文档说你永远不应该设置 Return-Path【参考方案2】:

你可以使用

$mail->AddReplyTo('name@yourdomain.com', 'First Last');

【讨论】:

【参考方案3】:
$mail->AddReplyTo('replytoMe@email.com', 'Reply to email');
$mail->AddAddress('ed@RealEmail.org', 'John Doe');

注意顺序! AddReplyTo 必须在 AddAddress 之前!!!

【讨论】:

以上是关于PHP Mailer --- 回复:--- Return-path --- SetFrom的主要内容,如果未能解决你的问题,请参考以下文章

php PHP Mailer en Donweb

php PHP Mailer WP

php mailer Mailer 错误:无法加载语言字符串:connect_host?

警告:require_once(./mailer/class.phpmailer.php):打开流失败:

PHP-Mailer代码

尝试使用 swift mailer、gmail smtp、php 发送邮件