[英]PHPmailer sends to junk email
我剛剛更新了一個聯系表單以使用 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 通常會負責插入正確的標題?
有什么想法嗎?
編輯:添加垃圾郵件分數
-垃圾郵件狀態:“分數=0.0 測試=無版本=3.1.7 cmae=v=1.0 c=1 a=8nJEP1OIZ-IA:10 a=soyWjZv28gkhNSke5wm04A==:17 a=fqdOs_Nl9wd82e3SDigA:9 a=l-lynuxnH- gfU2bevBoA:7 a=wPNLvfGTeEIA:10 a=nymK5Bb5l1cA:10 a=_6wjLm_vFSYA:10 xcat=未定義/未定義" X-垃圾郵件級別:*
編輯2:我剛剛在與客戶端不同的服務器上嘗試了腳本,結果相同。 我是否必須通過 SMTP 設置發送它才能不被歸類為垃圾郵件?
您的郵件可能被標記為垃圾郵件的一些原因:
ETC...
PHPMailer 是一個工具。 把它當成錘子。 錘子可能把釘子弄彎了,但這只是因為揮舞者沒有瞄准正確。
解決此問題的唯一方法是檢查退回郵件(如果有)以及收件人郵箱中顯示的任何內容。 如果他們收到了郵件,但它進入了垃圾郵件文件夾,則獲取郵件的副本並檢查其標題。 大多數垃圾郵件過濾器會將他們的垃圾郵件分數/推理放在那里。
小提示:
像這樣添加一行
$mail->AddReplyTo( 'mailer@blah.com', 'Contact BLah' );
它應該會顯着降低您的垃圾郵件評級。
我在使用 PHPMailer 時遇到了同樣的問題,這就是為我解決問題的方法:將發件人(這與“發件人”不同且不同)設置為您要從中發送 email 的域的有效 email 帳戶。 這會導致 PHPMailer 正確設置“envelope-from”信息,以便 email 通過 SPF 和 Sender-ID 驗證。 如果不這樣做,“envelope-from”是操作系統用戶 ID 和服務器組合,無法驗證。
示例代碼:
$mail = new PHPMailer;
$mail->From = 'from_email@domain.com';
$mail->Sender = 'sender_email@domain.com';
...
不一定是PHPMailer的錯,您的服務器被列入黑名單有幾個可能的原因。 您可以在此處查看是否發生了這種情況
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.