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 mailer Mailer 错误:无法加载语言字符串:connect_host?