PHPmailer отправляет на нежелательную почту - PullRequest
3 голосов
/ 04 июля 2011

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

Это довольно прямолинейная установка, которую я использую, но она все еще идет в мусорную почту людей.

Вот мой сценарий, мне было интересно, если кто-нибудь может сказать, что случилось?

include_once('../inc/phpmailer/class.phpmailer.php');

$mail = new PHPMailer();

$name = $_POST['name'];
$email = $_POST['email'];
$body = "Name: ".$name."\r\n";
$body .= "Email: ".$email."\r\n";
$body .= "Message: ".$_POST['message'];

$mail->From       = "mailer@blah.com";
$mail->FromName   = "Contact BLah";

$mail->Subject    = "Contact From: Blah";

$mail->Body = $body;

$mail->AddAddress("john@blah.com", "john");
$mail->AddAddress("david@blah.com", "david");

if(!$mail->Send()) {
  $errorMsg .= "Error sending message, please try again later.";
} else {
  $errorMsg .= "Message Sent successfully.";
}

Я думал, что PHPmailer обычно заботится о вставке правильных заголовков?

Есть мысли?

РЕДАКТИРОВАТЬ: добавлен счет спама

-Spam-Status: "оценка = 0.0 тестов = нет версии = 3.1.7: 10 a = nymK5Bb5l1cA: 10 a = _6wjLm_vFSYA: 10 xcat = Undefined / Undefined "X-Spam-Level: *

РЕДАКТИРОВАТЬ 2: я только что попробовал скрипт на другом сервере от клиентов, и он имееттот же результат.Нужно ли отправлять через настройку SMTP, чтобы он не классифицировался как спам?

Ответы [ 4 ]

13 голосов
/ 04 июля 2011

Некоторые причины, по которым ваша почта может быть помечена как спам:

  1. Вы отправляете спам
  2. Ваш IP-адрес или блок IP-адресов вокруг вашего IP-адреса помечен как источник спамав одном или нескольких черных списках
  3. Содержимое письма вызывает спам-фильтры.
  4. Получатель добавил вас в черный список
  5. Получатель не добавил вас вих белый список
  6. Вы отправляете смешанную исходную почту («From: xyz@example.com», но отправляете ее с «someotherdomain.net»)
  7. SPF-записи для вашего сервера неверно настроены/ не настроен вообще
  8. Ключи домена настроены неправильно / не настроены вообще

и т. д. *

PHPMailer - инструмент.Считай это молотком.Молоток мог согнуть гвоздь, но только потому, что владелец не прицелился правильно.

Единственный способ решить эту проблему - изучить сообщения об отскоке (если есть) и все, что появилось впочтовый ящик получателя.Если они получают письмо, но оно попадает в папку со спамом, то получите копию письма и проверьте его заголовки.Большинство спам-фильтров помещают свои оценки / рассуждения о спаме туда.

7 голосов
/ 25 октября 2011

Небольшой намек:

добавить в строку примерно так

 $mail->AddReplyTo( 'mailer@blah.com', 'Contact BLah' );

Это должно значительно снизить рейтинг спама.

1 голос
/ 21 мая 2015

У меня возникла та же проблема с использованием PHPMailer, и вот что решило эту проблему для меня: установите для Отправителя (он отличается от «От») действительную учетную запись электронной почты для домена, с которого вы отправляете письмо , Это заставляет PHPMailer правильно устанавливать информацию «envelope-from», чтобы электронная почта проходила проверку SPF и Sender-ID. Без этого «envelope-from» - это комбинация идентификатора пользователя ОС и сервера, которую невозможно проверить.

Пример кода:

$mail = new PHPMailer;

$mail->From = 'from_email@domain.com';
$mail->Sender = 'sender_email@domain.com';
...
0 голосов
/ 04 июля 2011

Это не обязательно ошибка PHPMailer, есть несколько возможных причин для вашего сервера в черный список. Вы можете проверить здесь , чтобы увидеть, произошло ли это

...