[英]Account confirmation email sent as SPAM
我正在使用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();
為了最大化您的電子郵件到達的幾率,您需要檢查三件事:
詳細信息:
http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html
你無能為力。 大多數郵件提供商都有常見IP地址,主機名和其他數據的列表,這些數據通常被標記為垃圾郵件,如果您的電子郵件符合條件,則會自動過濾掉。 您真正要做的就是告訴訪問者在注冊之前將您的電子郵件地址添加到他們的允許列表中,以便電子郵件進入他們的收件箱。
老實說,不要擔心。 如果他們看到您的電子郵件經常被標記為“非垃圾郵件”,那么他們最終會為其添加例外。 如果他們沒有像其他網站那樣看到電子郵件,請告訴用戶檢查他們的垃圾郵件文件夾。 通常,如果他們在該文件夾中將其標記為“非垃圾郵件”,則會自動為該地址添加例外,因此您發送的任何其他電子郵件將最終出現在其收件箱中。
您是否有發送確認電子郵件的服務器的反向DNS條目?
如果沒有,這可能是一個rDNS問題 。 如果發送主機的IP和名稱根據rDNS不匹配,則某些站點更有可能將消息標記為垃圾郵件。
否則,您可能會嘗試在雅虎,hotmail和g-mail等主要電子郵件網站上向您自己的帳戶發送確認電子郵件,然后調整措辭,直到它通過垃圾郵件過濾器。
嗯,你可以做一些事情:*廢棄HTML。 這看起來像垃圾郵件,特別是低文本*請寫一些更多的文字。
短信HTML郵件可能會在垃圾郵件列表中上升。
我發現標題中“確認”一詞的任何變體都會在我的垃圾郵件桶中出現。 我發現其他的話也是這樣做的:“購買”,“快點”,“訂單”,“討價還價”和“迫在眉睫”。
這在所有電子郵件中可能都不是這樣,但它發生在我的電子郵件中。 可能是因為這些單詞出現在我標記為跨度的大多數電子郵件中。 它也可能是本地sysop制作過濾器並將其分發給我們所有人。
您可以嘗試使用sendGrid apis ,這將有所幫助,他們收費,但我認為它是值得的。 它們支持大多數流行語言:Nodejs,PHP,Java,....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.