2

我写了一个 PHP 脚本,它发送邮件。我从“mail@something.com”发送它们,并将“返回路径”设置为“bounce@something.com”,但我仍然收到退回邮件到发件人邮件(“mail@something.com ”)。

这是精简的代码:

$this->mail = new PHPMailer();
$this->mail->isSMTP();
$this->mail->Host = 'host';
$this->mail->SMTPAuth = true;
$this->mail->Username = 'mail@something.com';
$this->mail->Password = 'pass';
$this->mail->SMTPSecure = 'tls';
$this->mail->Port = 25;
$this->mail->ReturnPath = 'bounce@something.com';
$this->mail->From = 'mail@something.com';
$this->mail->send();

如何强制退回的邮件转到退回邮件帐户?谢谢你的帮助!

4

2 回答 2

11

不要使用ReturnPath- setSender代替。最近在 PHPMailer(5.2.8 版)中禁用了对该属性的支持,ReturnPath因为在发送时设置它是无效的。返回路径由接收者在接收到消息时添加,并通过将所需的返回路径放入Sender属性中进行设置,该属性在 SMTP 对话期间作为信封发件人传递。Sender调用时会自动设置setFrom,但您可以覆盖它并直接设置它,如下所示:

$this->mail = new PHPMailer();
$this->mail->isSMTP();
$this->mail->Host = 'host';
$this->mail->SMTPAuth = true;
$this->mail->Username = 'mail@something.com';
$this->mail->Password = 'pass';
$this->mail->SMTPSecure = 'tls';
$this->mail->Port = 25;
$this->mail->setFrom('mail@something.com');
$this->mail->Sender = 'bounce@something.com';
$this->mail->send();
于 2014-11-05T19:57:45.597 回答
0

将此行添加到您的代码中:

$this->mail->AddReplyTo("youraccount@gmail.com","Your name");
于 2017-02-03T05:46:33.503 回答