Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPMailer已跳转邮件未正确跳转_Php_Email_Phpmailer_Bounce - Fatal编程技术网

PHPMailer已跳转邮件未正确跳转

PHPMailer已跳转邮件未正确跳转,php,email,phpmailer,bounce,Php,Email,Phpmailer,Bounce,我已经写了一个PHP脚本,它可以发送邮件。我是从美国寄来的mail@something.com并将返回路径设置为bounce@something.com,但我仍然收到退回给发件人的邮件mail@something.com. 下面是简化的代码: $this->mail = new PHPMailer(); $this->mail->isSMTP(); $this->mail->Host = 'host'; $this->mail->SMTPAuth = t

我已经写了一个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();
我如何强制退回的邮件转到退回邮件帐户?谢谢你的帮助

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

$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();
不要使用ReturnPath-改为设置发件人。最近在版本5.2.8的PHPMailer中禁用了对ReturnPath属性的支持,因为在发送时设置它是无效的。接收方在接收邮件时添加返回路径,并通过将所需的返回路径放入Sender属性进行设置,该属性在SMTP会话期间作为信封发件人传递。当您调用setFrom时,会自动设置Sender,但您可以覆盖它并直接设置它,如下所示:

$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();

将此行添加到代码中:

$this->mail->AddReplyTo("youraccount@gmail.com","Your name");

将此行添加到代码中:

$this->mail->AddReplyTo("youraccount@gmail.com","Your name");

这一个对我有用,$mail->Sender=bounce@xxxxxxxx.nl'; 所以pitty你的答案没有被接受…我使用的是PHP_Mailer 5.2.10,我的PHP版本是5.4.9$此->邮件->发件人不适用于我。所有被退回的电子邮件都返回到$this->mail->AddReplyTo地址。这是$this->mail->AddReplyTo导致$this->mail->Sender无法正常工作的原因吗?为什么要使用旧的、有缺陷的、不安全的PHP和phpMail版本?除此之外,还有很多邮件服务器做错了事情bounce@xxxxxxxx.nl'; 所以pitty你的答案没有被接受…我使用的是PHP_Mailer 5.2.10,我的PHP版本是5.4.9$此->邮件->发件人不适用于我。所有被退回的电子邮件都返回到$this->mail->AddReplyTo地址。这是$this->mail->AddReplyTo导致$this->mail->Sender无法正常工作的原因吗?为什么要使用旧的、有缺陷的、不安全的PHP和phpMail版本?除此之外,还有很多邮件服务器做错了事情。