簡體   English   中英

無法將郵件發送到@gmail

[英]Cant send mail to @gmail

我有此代碼用於發送郵件

$to = "account@gmail.com";
$subject = "mail title";
$message = "mail content";

$from_mail = "sender@site.com";          

$headers = 'MIME-Version: 1.0\r\n'.
           'From: '.$from_mail.'' . "\r\n" .
           'Reply-To: '.$from_mail.'' . "\r\n" .
           'Content-type: text/html; charset=utf-8' . "\r\n";
           'X-Mailer: PHP/' . phpversion(); 

該代碼為@gmail以外的任何郵件提供者發送郵件。

這可能是什么原因

與其他情況一樣,我的猜測是您的郵件已發送到SPAM文件夾。 但是尚不清楚此腳本在什么計算機上運行。 這是您的localhost測試環境還是其他隔離的開發服務器? 還是功能正常的生產服務器?

如果這是一個localhost或其他隔離的測試環境,我猜測Gmail甚至可能是AOL都將您的郵件作為潛在的SPAM進行阻止。

但是,如果這是面向前的生產服務器,則該問題很可能是由於機器所在的IP地址缺少PTR(aka:反向DNS記錄)引起的。

本網站所述

PTR記錄主要用於檢查服務器名稱是否實際上與從其發起連接的IP地址相關聯。

這意味着,如果許多郵件服務器無法將有效的PTR記錄連接到域,則它們會將它們簡單地標記為垃圾郵件。

另外,如果這是具有多個IP地址的生產服務器,則您的SPF(發送方策略框架)記錄可能存在問題。 在此網站上閱讀更多內容

更准確地說,SPFv1允許域的所有者指定其郵件發送策略,例如,他們使用哪些郵件服務器從其域發送郵件。

因此,SPF記錄是一個DNS記錄,基本上說:“好吧,您認為您是來自xyz.com IP地址1.2.3.4的電子郵件? 讓我查看您的SPF記錄,嘿! SPF記錄說, xyz.com從IP地址1.2.3.4發送的任何電子郵件都很酷! 您不是垃圾郵件。”

盡管還有其他一些因素,例如在處理電子郵件時延遲發送或接收,但我非常有信心解決您從其發送的IP地址的PTR和SPF狀態將清除此問題。 這不是編碼問題,而是您身邊的網絡和郵件基礎結構配置問題。

由於垃圾郵件,電子郵件提供商對接受郵件的要求越來越嚴格。

如果您使用共享主機,則該電子郵件服務器的信譽可能很差,您可能必須更改提供商或使用其提供的任何郵件服務。 電子郵件支持可能是一個好的開始

很多時候,郵件沒有被完全阻止而是被延遲。 我會等一會兒,然后檢查電子郵件是否到達那里。 我還要檢查郵件隊列,看看電子郵件的狀態是什么

確保您具有適當的DNS記錄:_ dkim _ spf _ dmarc

確保設置了反向DNS,並且該IP不在阻塞池中,

另外,請確保您不在任何阻止列表中。

IP信譽至關重要,並且會隨着時間的推移而不斷提高。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM