Dot-Net

Gmail 將我的網路應用程序的電子郵件過濾為垃圾郵件

  • January 31, 2011

我們有一個商業網路應用程序,它定期發送電子郵件作為提醒、連結到客戶數據等。我們公司使用Google應用程序作為我們的電子郵件提供商(使用我們自己的域名),網路應用程序通過Google使用 SMTP 發送電子郵件。

問題是 Google Apps / Gmail 不斷將郵件標記為垃圾郵件,即使對於我們域名中的收件箱也是如此。似乎沒有其他電子郵件提供商將其標記為垃圾郵件(但當然我們還沒有對它們進行全部測試……)。

我們已經嘗試了各種身體測試的形式:即包括更多的上下文資訊,按姓名稱呼接受者,但到目前為止沒有明顯的變化。這讓我覺得這可能與我們的電子郵件發送過程有關,而不是電子郵件的內容,導致電子郵件被標記為垃圾郵件。

我們嘗試過但沒有解決問題的方法:

  • “發件人”地址有效且未被欺騙
  • SPF 記錄正確,並在電子郵件標題中顯示為“通過”
  • 由於我們連接到 Google 的 SMTP 伺服器以發送電子郵件,因此列入黑名單的 IP 地址不是問題(但是,我們的網站有一個未列入黑名單的靜態 IP 地址)。
  • 電子郵件不是很垃圾:我已經檢查了幾個線上垃圾郵件過濾器測試,電子郵件正文總是顯示為極不可能被過濾。
  • HTML 正文與純文字正文似乎沒有區別。
  • 我們發送少量電子郵件:可能每天 0-10 封電子郵件,所以我看不出這會如何讓人懷疑。
  • 每當我們可以訪問收件箱(即它屬於我們公司的員工)時,我們都會將電子郵件標記為“非垃圾郵件”,因為 Gmail 可能會使用公共統計數據來確定垃圾郵件。幾次之後,這會導致發送到該特定收件箱的電子郵件通過,但似乎對其他帳戶沒有幫助。

我們還能嘗試什麼?

如果有所作為,我們將使用執行 .NET 3.5 的 ASP.NET 站點發送電子郵件。典型的電子郵件是這樣發送的:

var message = new MailMessage(new MailAddress(from), new MailAddress(to)) {
   Subject = subject,
   Body = body
   IsBodyHtml = true
};

// SMTP details stored in web.config 
new SmtpClient { EnableSsl = true }.SendAsync(message, null);

編輯: 我見過類似的問題:如何阻止 Gmail 將我的網路應用程序發送的郵件標記為垃圾郵件?,但情況略有不同,因為我們可以通過從同一個 Google Apps 域發送和接收來重現它。此外,我相信我已經涵蓋了針對該問題提出的所有解決方案。

我認為您將需要使用域密鑰,請在此處閱讀更多資訊: http ://en.wikipedia.org/wiki/DomainKeys

Google郵件需要這個參數,如果你不想這樣做,你可能需要使用Google郵件作為 smtp 伺服器。

我上個月遇到了這個問題。

另一個考慮因素是網址,請參閱這個問題: Gmail mark as spam email with html and anchor links

希望它有效。

您可以嘗試的其他內容:

  • 不要從以發送垃圾郵件而聞名的 IP 地址發送電子郵件。這通常意味著沒有共享主機。
  • 確保您的郵件主機是有效的 A 記錄,而不是 CNAME。
  • 確保您的 MX 記錄設置為郵件主機的完整主機名(設置為 A 記錄)。
  • 確保您可以反向查找郵件主機的 IP 地址。這對於設置 SPF/發件人 ID 記錄非常重要。
  • SPF/SenderID 資訊設置為 TXT 記錄
  • 配置完所有內容後,您應該對其進行驗證。在聯繫 Gmail 支持之前,請確保沒有警告或錯誤。
  • 使用Spam Assassin測試您的電子郵件。從您的應用程序向自己發送一封電子郵件,並將原始消息(包括標題)複製到文本文件並針對 Spam Assassin 的命令行測試執行它。
  • 如果您發送純文字電子郵件,請確保將 Content-Type 標頭中的字元集設置為ISO-8859-1。Gmail 似乎對此非常講究。

引用自:https://stackoverflow.com/questions/4840426