Сложности phpmailer для спам-фильтров & quot; -f & quot;

Служба хостинга моих клиентов не принимает электронные письма, отправленные с веб-сайта, которые не имеют «-f» в начале адреса FROM. Это связано с недавним добавлением спам-фильтра, который они добавили.

Официальный ответ:

В «конверте отправителей данных» отсутствуют определенные элементы

Я использую phpmailer, до сих пор все работало нормально, используя SMTP-аутентификацию.

Но теперь с phpmailer, это не работает

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

Также не работает

$mail->From         = '-f [email protected]';

Очевидно, что это недействительный адрес электронной почты.

Я МОГУ получить почту, чтобы на самом деле отправить вот так:

mail('[email protected]', 'the subject', 'the message', null, '-f [email protected]');

Но это не phpmailer, это функция php для садового сорта. Поэтому я пытаюсь заставить PHPmailer каким-то образом автоматически добавлять «-f» в FROM.

Должен ли я корректировать файлы классов, чтобы как-то обойти это? Застрял!

0

Решение

Вы перепутали свои транспорты. -f в mail() Функция — это дополнительный параметр, передаваемый в базовый двоичный файл sendmail, который устанавливает отправителя конверта сообщения (и официально у него не должно быть пробела после него, например, [email protected]). Тем не менее, он не применяется при отправке через SMTP, потому что вы получаете контроль над этим параметром с помощью Sender имущество. Вы должны сделать это:

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

Если вы отправляете с использованием SMTP, он будет использовать его как отправителя конверта (как содержимое SMTP MAIL FROM команда), и если вы отправляете через isMail() или же isSendmail() транспорты, он установит отправителя через свойство -f.

Также убедитесь, что вы используете последнюю версию PHPMailer от GitHub.

2

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

Других решений пока нет …

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