PHPMailer отказывался от почты, которая не получала правильного ответа

Я написал скрипт PHP, который отправляет письма. Я отправляю их с «[email protected]», а также установил для «Return-Path» значение «[email protected]», но я по-прежнему получаю письма с отклоненной отправкой («[email protected]») «).

Вот урезанный код:

$this->mail = new PHPMailer();
$this->mail->isSMTP();
$this->mail->Host = 'host';
$this->mail->SMTPAuth = true;
$this->mail->Username = '[email protected]';
$this->mail->Password = 'pass';
$this->mail->SMTPSecure = 'tls';
$this->mail->Port = 25;
$this->mail->ReturnPath = '[email protected]';
$this->mail->From = '[email protected]';
$this->mail->send();

Как заставить принудительно отправленные письма перейти на учетную запись отказов? Спасибо за любую помощь!

0

Решение

Не использовать ReturnPath — задавать Sender вместо. Поддержка для ReturnPath свойство было недавно отключено в PHPMailer (в версии 5.2.8), потому что его нельзя устанавливать в точке отправки. Обратный путь добавляется получателем при получении сообщения и устанавливается путем помещения желаемого обратного пути в Sender свойство, которое передается как отправитель конверта во время SMTP-диалога. Sender устанавливается автоматически при звонке setFrom, но вы можете переопределить его и просто установить его напрямую, вот так:

$this->mail = new PHPMailer();
$this->mail->isSMTP();
$this->mail->Host = 'host';
$this->mail->SMTPAuth = true;
$this->mail->Username = '[email protected]';
$this->mail->Password = 'pass';
$this->mail->SMTPSecure = 'tls';
$this->mail->Port = 25;
$this->mail->setFrom('[email protected]');
$this->mail->Sender = '[email protected]';
$this->mail->send();
9

Другие решения

Добавьте эту строку в ваш код:

$this->mail->AddReplyTo("[email protected]","Your name");
0

По вопросам рекламы [email protected]