你的郵件發出去,2%被退回,郵箱服務商開始盯上你。超過5%,直接進黑名單。問題是,等你知道的時候,IP信譽已經爛了。
這篇寫給負責郵件系統的工程師。目標只有一個:把退回率壓到1%以下。
![]()
硬退回 vs 軟退回:區別很大
![]()
硬退回是地址不存在,永久性的。這對發件人信譽是毒藥,24小時內必須處理掉。
軟退回是暫時的——郵箱滿了、服務器忙、郵件太大。但軟退回也會累積。同一個地址反復軟退回,說明有問題。
鐵律:硬退回=立即從列表刪除。軟退回=5天內試3次,然后隔離。
列表清潔:低退回率的根基
入庫時驗證
地址沒確認存在之前,絕不要進庫。最土的辦法是SMTP對話:
$ telnet mx.example.com 25
220 mx.example.com ESMTP
HELO yourserver.com
250 mx.example.com Hello yourserver.com
MAIL FROM:
250 OK
RCPT TO:
250 OK ← 有效
如果返回550 User unknown或550 5.1.1,地址已死。
工具選smtp-user-enum、直接SMTP驗證,或ZeroBounce、AbstractAPI這類API服務。
存量列表每月重驗
即使不新增地址,列表每年自然衰減約22%。每月跑一遍清潔:
? 90天無打開/點擊的,標記為待喚醒
? 死地址下次發送前用SMTP重驗
? 連續退回兩次的,直接刪除
角色郵箱是雷區
admin@、info@、postmaster@、sales@、support@——這些地址機器人監控、經常是全域捕獲、退回率極高。除非專門驗證過,不要發。
SPF、DKIM、DMARC:你的防護盾
認證配錯是意外退回的頭號原因。收件方服務器會在郵件進收件箱前就拒掉未認證的郵件。
SPF(發件人策略框架)
SPF告訴收件服務器哪些郵件服務器有權代你的域名發信:
v=spf1 include:_spf.yourmailprovider.com ~all
機制太多(+mx、+a、+ip4指向你的Web服務器)會導致SPF查詢失敗。硬性限制:每條SPF記錄最多10次DNS查詢。include鏈要用得精明。
DKIM(域名密鑰識別郵件)
DKIM給每封郵件加加密簽名。收件服務器用你的公鑰解密驗證,對不上就拒收。
KumoMTA的DKIM配置示例:
dkim {
sign = true
selector = "mail"
domain = "postmta.com"
private_key = "/etc/kumomta/dkim/private.pem"
}
密鑰每90天輪換一次。DKIM泄露=別人能用你的域名發偽造郵件。
DMARC(基于域的消息認證、報告和一致性)
DMARC把SPF和DKIM綁在一起,加上策略:
v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com
p=none是監控模式,p=quarantine進垃圾文件夾,p=reject直接拒收。從none開始,確認無誤再升quarantine,最后到reject。
rua地址會收到每日XML報告,解析后能看到誰在用你的域名發郵件、認證過沒過。
基礎設施:發信IP和域名
IP預熱不是可選項
新IP沒有信譽歷史,郵箱服務商不認識你。突然大量發信=直接進垃圾文件夾或硬退回。
預熱節奏:第1天50封,第3天200封,第7天1000封,第14天5000封,第30天才能滿速。每天增量不超過前一天的2倍。
子域名隔離
![]()
營銷郵件用marketing.yourdomain.com,交易郵件用notifications.yourdomain.com,客服用support.yourdomain.com。一個子域搞砸了,不影響其他的。
專用IP vs 共享IP
月發量低于10萬封,共享IP更穩——你的信譽跟別人的平均在一起。超過10萬封,專用IP才能控制得了自己的命運。
內容層面:觸發退回的隱形殺手
郵件大小
超過102KB,Gmail會截斷并顯示"顯示完整郵件"。很多客戶端直接軟退回大郵件。目標:HTML+文本版本控制在80KB以內。
URL信譽
郵件里的鏈接如果指向被標記的域名,整封郵件信譽連帶受損。短鏈接服務(bit.ly等)已經被濫用爛了,盡量用自有域名。
圖片比例
純圖片郵件=垃圾郵件特征。文字與圖片比例至少6:4,最好8:2。alt文本要寫,圖片加載失敗時至少知道是什么內容。
退訂機制
沒有一鍵退訂=違反CAN-SPAM、GDPR、CASL,被舉報后直接導致高退回率。退訂鏈接要在頁首和頁腳各放一個,點擊后24小時內生效。
監控體系:發現問題比解決問題更重要
實時退回處理
同步SMTP退回(421、450、451、452、550、551、552、553、554)和異步退回(DSN郵件)都要接。Postfix用bounce_template_file,KumoMTA用lua腳本解析。
退回代碼要分類處理:
? 5xx永久錯誤:立即刪地址
? 4xx臨時錯誤:進重試隊列,指數退避(5分鐘、15分鐘、45分鐘、2小時、6小時)
? 421服務不可用:暫停對該域的發送1小時
信譽監控工具
? Google Postmaster Tools:看Gmail那邊的域名信譽、認證通過率、用戶舉報率
? Microsoft SNDS:Hotmail/Outlook的IP信譽和流量數據
? Talos Intelligence:Cisco的IP信譽查詢
? MXToolbox Blacklist Check:一鍵查幾十家黑名單
每天早上掃一遍,變紅立即停發排查。
反饋循環(FBL)
注冊Yahoo、Outlook、Zoho的反饋循環。用戶點"這是垃圾郵件"時,你會收到通知。投訴率超過0.1%就要警惕,超過0.3%立即暫停該列表的發送。
高級技術:最后幾個百分點
預測性退回
用歷史數據訓練模型:這個地址過去90天的打開模式、上次打開距今多久、域名類型(企業郵/Gmail/自建)、MX記錄變化——預測這次發送會不會退回。得分低的,先發一小批測試。
灰名單處理
部分服務器用灰名單:第一次發臨時退回(451 4.7.1),等幾分鐘到幾小時再試。 compliant的實現是收到451后自動重試,不要人工干預。
TLS強制
STARTTLS協商失敗時,降級到明文傳輸=中間人可讀。配置強制TLS:對方不支持TLS就延遲或退回,不要明文發。
Postfix配置:
smtpd_tls_security_level = may
smtp_tls_security_level = encrypt
smtp_tls_loglevel = 1
ARC(認證結果鏈)
轉發郵件會破壞SPF/DKIM驗證。ARC讓中間服務器簽名認證結果,最終收件方能看到原始認證狀態。做郵件轉發或列表服務的,必須上ARC。
檢查清單:上線前過一遍
□ SPF記錄≤10次DNS查詢,語法驗證通過(kitterman.com/tools/spf.html)
□ DKIM 1024位或2048位RSA密鑰,selector正確,簽名驗證通過(dmarcian.com/dkim-inspector/)
□ DMARC策略從p=none開始,rua地址能收報告
□ 退訂鏈接可點擊,24小時內生效
□ 郵件大小<102KB,文字圖片比例合理
□ 所有URL用自有域名,無短鏈接
□ 列表已驗證,無角色郵箱,90天無互動地址已標記
□ 發信IP已預熱或信譽良好
□ 退回處理流程已部署,4xx/5xx分類處理
□ Google Postmaster Tools和Microsoft SNDS已注冊
退回率不是玄學,是工程問題。每個環節都有技術杠桿可拉,關鍵是把監控做細、響應做快、列表做干凈。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.