【问题标题】:Changing the Return-path using PHPMailer使用 PHPMailer 更改返回路径
【发布时间】:2011-03-28 21:49:44
【问题描述】:

有没有办法使用 PHPMailer 更改返回路径

我做了以下,但没有用

$mail->AddCustomHeader('Return-path:test@email.co.za');

我正在使用以下语句发送邮件

if(!$mail->Send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;

    } else {
        //Building the reporting email to report on all the mails send 
        echo "Message REPORT sent!\n";
    }

我收到了邮件但返回路径没有改变?

【问题讨论】:

    标签: php phpmailer


    【解决方案1】:
    $mail->Sender = 'noreply@domain.com';
    

    【讨论】:

      【解决方案2】:

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

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

      phpmailer 源包含以下内容,这就是我认为 $mail->Sender 工作的原因

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

      【讨论】:

      • 这应该被标记为正确答案。
      • 现在不再是这种情况了,因为 phpmailer 在它的代码中解释了: /** * 消息的返回路径。 * 如果为空,它将被设置为 From 或 Sender。 * var string * 已弃用 电子邮件发件人不应设置返回路径标头; * 这是接收者的工作(RFC5321 第 4.4 节),所以这不再做任何事情。 * 链接tools.ietf.org/html/rfc5321#section-4.4 RFC5321 参考 */
      • 你好。我不理解为什么 ?每个电子邮件解决方案(mailchimp ......)都为用户 VERP 地址设置返回路径以跟踪退回......我们不能用 phpamiler 做到这一点吗? ???为什么?
      【解决方案3】:

      以下解决了这个问题,我调整了 Sender 属性,它对我有用。 $mail-&gt;Sender = 'test@email.co.za';

      【讨论】:

      • 对,行得通。这在内部设置了返回路径。谢谢
      【解决方案4】:

      不要使用回复路径标头,试试这个:

      $mail->AddCustomHeader('Reply-to:test@email.co.za');
      

      我使用回复标题,即使在共享空间上也取得了巨大的成功。

      【讨论】:

      • 我误会你了吗?您是要更改发送失败消息和警告的路径,还是要更改人们回复的地址?
      • @webfac,如果邮件没有送达,邮件会退回,我需要知道它退回到哪个地址,我认为它唯一退回到的是回复路径
      • @Roland - 没错,是的,我误解了你一会儿。我看不出为什么回复路径不起作用,除非这个标题被放在你的标准 To、From 标题等之前?如果是这样,那很可能就是答案。
      • @webfac,我设法解决了这个问题我做了以下 $mail->Sender = 'test@email.co.za';
      • @Roland - 很高兴您将其整理出来,这意味着您正在使用的类中具有 Sender 函数,它显然将发件人地址应用于 From: AND Return-path 标头值。这是一种奇怪的做法,如果他们让您选择自己隐式设置每个标题选项,我会更喜欢它!很高兴你成功了。
      【解决方案5】:

      最可能的原因是您发送此邮件的邮件服务器强制执行特定的返回路径。这通常是“托管”网络空间的情况。

      在这种情况下,您没有太多选择。尝试与您的房东交谈。

      【讨论】:

        猜你喜欢
        • 2021-11-25
        • 2013-12-13
        • 2012-09-08
        • 1970-01-01
        • 1970-01-01
        • 2013-07-21
        • 1970-01-01
        • 2018-06-15
        相关资源
        最近更新 更多