【问题标题】:PHP Mailer --- Reply-to: --- Return-path --- SetFromPHP Mailer --- 回复:--- 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。任何想法如何将两者分开?谢谢

【问题讨论】:

标签: php email 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 之前!!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      • 2012-02-24
      • 2011-12-10
      • 1970-01-01
      • 1970-01-01
      • 2014-03-25
      • 2023-03-21
      相关资源
      最近更新 更多