通過企業郵箱發郵件被Gmail退回的問題解決方法
这两天给我们开发的Chrome插件增加了账户注册和登录功能,其中有一步是邮箱验证,所以这边会在后台给用户的邮箱发个验证信息。如果发邮件,之前的文章教程里就有,这里就不说了,着重说说这两天发现所有用Gmail注册的用户都被退件的问题。
报错现象
先來看看具體報錯(如果您也碰到這種情況,那麼可以看看後面的內容):
退信原因:發件人( xxxx@xxx.com )功能變數名稱的DNS記錄未設定或設定錯誤導致對方拒收此郵件。 host gmail-smtp-in.l.google.com[142.251.10.26] said: 550-5.7.26 This mail is unauthenticated, which poses a security risk to the sender and Gmail users, and has been blocked. The sender must authenticate with at least one of SPF or DKIM. For this message, DKIM checks did not pass and SPF check for [mail.spring4all.com] did not pass with ip: [54.204.34.130]. The sender should visit https://support.google.com/mail/answer/81126#authentication for instructions on setting up authentication. k191-20020a636fc8000000b00565bcd33890si6279798pgc.848 - gsmtp (in reply to end of DATA command) 解決方案:請通知你的郵箱管理員為郵箱功能變數名稱設定正確的DNS(SPF、DKIM、DMARC)記錄。 詳細請見 http://service.exmail.qq.com/cgi-bin/help?subtype=1&&no=1000580&&id=20012 。
問題分析
從退信原因中Google給的連結內容非常多,大致內容就是Google針對垃圾郵件濫用郵箱等行為做的防護機制。 所以,如果您要支持Gmail的話,就必須符合它所製定的身份配寘要求,裡面包含了:SPF配寘、DKIM配寘、ARC配寘以及DMARC配寘。
Google官方提供了一個工具: https://toolbox.googleapps.com/apps/checkmx/ ,可以用來檢測你的一些列配寘是否符合要求。 您只需要輸入你的郵箱功能變數名稱,就可以看到如下的診斷結果:
那麼多警告,顯然是要慢慢解决才能不被拒收吧。。。 不過那麼多配寘,是不是一下就暈了?
如果你懶得深入看的話,下麵DD就講一下比較快速的解决不被拒收的配寘。
解決方案
不要看有那麼多警告和配寘內容,其實只需要把SPF配寘完成,Gmail的發送就不成問題了。 配寘方法也很簡單,就是在功能變數名稱解析裏加一條記錄即可。
Gmail官網也給出了介紹:
但第一次也許你會跟我犯一樣的錯,就是直接用v=spf1 include:_ spf.google.com ~all這個value了。。。 其實應該要修改成你所用企業郵箱服務商的spf功能變數名稱。
比如,DD這邊用的是騰訊的企業郵箱,所以值要設定成: v=spf1 include:spf.mail.qq.com ~all。 直觀的講,你的功能變數名稱解析裏需要有這樣一條TXT記錄:
SPF匯總
這邊匯總一下,國內比較常用的企業郵箱SPF配寘,如果您正好碰到類似問題,可以直接選取使用:
騰訊企業郵箱: v=spf1 include:spf.mail.qq.com ~all
阿裡企業郵箱: v=spf1 include:spf.mxhichina.com -all
網易企業郵箱: v=spf1 include:spf.163.com -all



评论
发表评论