2010-08-12 2 views
8

Есть ли способ, чтобы изменить обратный адрес, используя PHPMailerИзменение обратный путь с помощью PHPMailer

я сделал следующее, и это не сработало

$mail->AddCustomHeader('Return-path:[email protected]'); 

Я использую следующее заявление отправьте письма

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"; 
    } 

Получаю письмо, но путь возврата не меняется?

ответ

19

Следующее решение проблемы, я скорректировал свойство Sender, и это сработало для меня. $mail->Sender = '[email protected]';

+0

Правильно, это работает. Это устанавливает внутренний путь возврата. Спасибо –

1

Наиболее вероятной причиной этого является то, что почтовый сервер, которому вы отправляете эту почту, принудительно вводит определенный путь возврата. Это часто бывает для «размещенного» веб-пространства.

В этом случае у вас не так много вариантов. Попробуйте поговорить с вашим хозяином.

-2

Вместо того, чтобы использовать заголовок Reply-путь, попробуйте следующее:

$mail->AddCustomHeader('Reply-to:[email protected]'); 

Я использую для ответа заголовка и имел большой успех даже на общих пространствах.

+0

Я вас неправильно понял? Вы хотите изменить путь, по которому отправляются сбойные сообщения и предупреждения, или вы хотите изменить адрес, посредством которого люди ОТКАЗЫВАЮТСЯ? – SimonDowdles

+0

@webfac, если почта не доставлена, электронная почта отскакивает назад, мне нужно знать, к какому адресу она подпрыгивает, и единственное, на что я думаю, что она отскакивает, - это путь ответа – Roland

+0

@Roland - Это правильно, я неправильно понял вас на мгновение. Я не вижу причин, почему Reply-path не работает, ЕСЛИ этот заголовок помещается перед вашим стандартным To, From headers и т. Д.? Если так, то вполне может быть ответом. – SimonDowdles

5

правильный способ установить RETURNPATH (по состоянию на июль 2013 года) является использование:

$mail->ReturnPath='[email protected]'; 

источник PHPMailer содержит следующее, поэтому я думаю, что $ mail-> Отправитель работал

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

Вместо этого следует отметить правильный ответ. – cytsunny

+0

Это уже не так, поскольку phpmailer расширяет его код: /** * Обратный путь сообщения. * Если пустым, оно будет установлено как От или Отправитель. * var string * Устаревшие отправители электронной почты никогда не должны устанавливать заголовок пути возврата; * Это работа ресивера (RFC5321, раздел 4.4), поэтому это больше ничего не делает. * ссылка https://tools.ietf.org/html/rfc5321#section-4.4 Ссылка RFC5321 * / –

Смежные вопросы