Несколько дней назад я обновил Php Mailer, и теперь некоторые почтовые провайдеры мои сообщения отмечают как спам. Это то, что я вижу в заголовках отмеченных сообщений:
X-SpamTest-Info: {TO: header missing}
Это из моего php-файла.
$mail->From = $sender; $mail->FromName = $sender_name; $mail->Subject = $subject; $mail->Body = $body; $mail->AddAddress($recipient,$recipient_name); $mail->AddReplyTo($replyto,"No-Reply");
Не знаю, как добавить заголовок «в» и не может понять, как возможно, что «Кому» не хватает, но электронная почта приходит к правильному адресу «to» …
Легко отправлять почту без заголовка «To:», потому что на самом деле здесь происходит две вещи. Заголовок «To:» действительно существует только для людей, на которые можно смотреть – фактическая доставка контролируется так называемым «конвертом». Когда вы отправляете свое сообщение в обычной почтовой программе, оно инициирует преобразование SMTP, где оно принимает адреса, перечисленные в заголовке «Кому», заголовок «CC» и «BCC», отбрасывает заголовок BCC, и он говорит приемник SMTP «RCPT TO: address1, address2, …» и приемник SMTP знает, кто его отправит, не глядя на заголовки. Он рассматривает только заголовки для проверки спама, потому что отсутствующая почта. В заголовки часто указывается спам.
Если не было такого конверта, который был доступен агентам почтовой передачи, но не конечным пользователям и их агентам почтовых пользователей, было бы невозможно использовать BCC.
Я не знаю синтаксиса PHP Mailer, но поддерживает ли он параметр «$ mail-> To»?
Несколько контрольных точек из предыдущего ответа :
Самое главное: относится ли адрес отправителя («От») к домену, который выполняется на сервере, на который вы отправляете E-Mail? Если нет, сделайте это так. Никогда не используйте адреса отправителя, такие как xxx@gmail.com
. Пользователь- reply-to
если вам нужны ответы, чтобы получить другой адрес.
Ваш сервер включен в черный список (например, проверьте IP-адрес на spamhaus.org)? Это возможность, когда вы находитесь на совместном хостинге, когда соседи ведут себя плохо.
Отфильтрованы ли письма фильтром спама? Откройте учетную запись с freemailer с папкой спама и узнайте. Также попробуйте отправить почту на адрес без какой-либо фильтрации спама.
Возможно, вам нужен пятый параметр «-f» почты (), чтобы добавить адрес отправителя? (См. Команду mail () в руководстве по PHP)
Если у вас есть доступ к файлам журналов, проверьте их, конечно.
Не знаю, как добавить заголовок «в» и не может понять, как возможно, что «Кому» не хватает, но электронная почта приходит к правильному адресу «to» …
Эта линия заботится об этом
$mail->AddAddress($recipient,$recipient_name);
Он фактически создает заголовок TO для электронной почты.