PHP邮件发送器 --- 回复地址:--- 返回路径:--- 发件人设置:

3
我正在使用PHP Mailer发送邮件。 http://phpmailer.worxware.com/ 我想设置发件人为一个电子邮件地址,将回复地址设置为另一个电子邮件地址,将返回路径设置为另一个电子邮件地址。
主要是我希望退信邮件可以发送到类似BOUNCEDemails@bademail.com这样的地址,我希望通过设置返回路径来实现这一点。
如果收件人不想看到邮件来自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:https://github.com/Synchro/PHPMailer - msturdy
3个回答

4

截至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).'>');
}

3
截至2014年11月,这似乎已被淘汰。http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#property_ReturnPath - ctown4life
1
我认为这是错误的。Return-Path 是由接收 MTA 根据 Sender 头设置的,任何你设置的 Return-Path 头都会被忽略。这就是为什么 PHPMailer 废弃了这个功能,并且他们的内联文档说你永远不应该设置 Return-Path - Ian Dunn

2

您可以使用

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

1
$mail->AddReplyTo('replytoMe@email.com', 'Reply to email');
$mail->AddAddress('ed@RealEmail.org', 'John Doe');

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接