Я использую PHPMailer для отправки электронного письма с подтверждением за недавно зарегистрированными пользователями в моей социальной сети. Но я узнал, что большинство из них закончило в списке спама пользователя. (Hotmail и Yahoo). Как избежать этого?
Это - мой сценарий
$mail=new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = mSMTPAuth();
$mail->SMTPSecure = mSMTPSecure();
$mail->Host = mHost();
$mail->Port = mPort();
$mail->Username = mUsername();
$mail->Password = mPassword();
$mail->From = mFrom();
$mail->FromName = "SiteName";
$mail->Subject = "SiteName New Account Activation";
$mail->IsHTML(true);
$mail->WordWrap = 50;
$mail->Body = "<h2>Welcome to " .$sitename. " " .$username. "! </h2><br><br>";
$mail->Body .= "Please click on the link below to verify your email address:<br><br>";
$mail->Body .= "<a href='".$base. "verify.php?a=" .$gen_key."'>".$base. "verify.php?a=" .$gen_key."</a>";
$mail->Body .= "<br><br>Regards<br>";
$mail->AltBody = "Welcome to " .$sitename. " " .$username. "!\n\nTo verify your email address, please click on the link below:\n\n".$base. "verify.php?a=" .$gen_key;
$mail->AddAddress($email);
$mail->Send();
$mail->ClearAddresses();
Вы мало что можете с этим поделать. У большинства этих почтовых провайдеров есть списки общих IP-адресов, имен хостов и других данных, которые часто помечаются как спам, и если ваши электронные письма соответствуют критериям, они автоматически фильтруются. Все, что вы действительно можете сделать, это сказать своим посетителям, чтобы они добавили ваш адрес электронной почты в свой список разрешенных перед регистрацией, чтобы электронное письмо попало в их почтовый ящик.
Честно говоря, не беспокойтесь об этом. Если они увидят, что ваши электронные письма регулярно помечаются как «не спам», они в конечном итоге добавят для этого исключение. Просто попросите пользователей проверить папку со спамом, если они не видят письмо, как любой другой сайт. Обычно, если они отмечают его как «не спам» в этой папке, он автоматически добавляет исключение для этого адреса, поэтому любые другие электронные письма, которые вы им отправляете, попадут в их почтовый ящик.
Есть ли у вас обратная запись DNS для сервера, отправляющего электронные письма с подтверждением?
Если нет, это может быть проблема rDNS . Некоторые сайты с гораздо большей вероятностью отметят сообщение как СПАМ, если IP-адрес и имя отправляющего хоста не совпадают в соответствии с rDNS.
В противном случае вы можете попробовать отправить письмо с подтверждением на свои учетные записи на основных сайтах электронной почты, таких как Yahoo, Hotmail и g-mail, а затем изменить формулировку, пока она не пройдет спам-фильтры.
Хм, есть кое-что, что вы можете сделать: * Выбросить HTML. Это похоже на спам, особенно с малым количеством текста. * Напишите больше текста, пожалуйста.
Короткие HTML-почты могут сильно подняться в списке спама.
Чтобы максимизировать вероятность получения вашего электронного письма, вам необходимо проверить три вещи:
, подробности по адресу:
http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email -through-code.html