Как изменился адрес FROM phpmailer's? Я ожидал, что следующее будет работать, однако все отправленные письма будут использовать отправку с адреса электронной почты, установленного первым вхождением SetFrom()
.Изменить адрес FROM phpmailer
$mail = new myPHPMailer(true);
$mail->SMTPDebug=2;
$mail->Subject = "My Subject";
$mail->MsgHTML('My Message');
$mail->AddReplyTo('[email protected]');
$mail->ClearAllRecipients();
$mail->SetFrom('[email protected]');
$mail->AddAddress("[email protected]");
$mail->Send();
$mail->ClearAllRecipients();
$mail->SetFrom('[email protected]'); //Does not update FROM address!
$mail->AddAddress("[email protected]");
$mail->Send();
PS. Почему я хочу это сделать? Я обнаружил, что некоторые компании настраивают свои маршрутизаторы электронной почты, чтобы запретить все входящие внешние электронные письма, у которых есть домен верхнего уровня отправителя, такие же, как и их собственные.
Комментарий 1: Спасибо за подтверждение того, что я наблюдал. Я проверю ваш другой подход, и, надеюсь, это сработает. Это где-то задокументировано? – user1032531
Комментарий 2: swiftmailer? Нравится? Мысль phpmailer была стандартом defacto. Всегда удивляюсь, что нет реального встроенного в PHP решения для современной электронной почты. Может быть, сейчас? – user1032531
Я бы порекомендовал SwiftMailer ... его значительно превосходит, и если что-то стандартное в наши дни, я бы сказал, что SwiftMailer ... Я также думаю, что есть новые расширения для почты. Если они есть в PECL, и вам нужно будет установить расширения PECL в цели развертывания, что может быть проблематично, если вы получите ham-stred с помощью какого-то общего хостинга. – prodigitalson