Я написал скрипт 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();
Как заставить принудительно отправленные письма перейти на учетную запись отказов? Спасибо за любую помощь!
Не использовать 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();
Добавьте эту строку в ваш код:
$this->mail->AddReplyTo("[email protected]","Your name");