網站技術教學專區

網域、主機、網站設計與 SEO 架構解析

信件寄出去被退回怎麼辦?退信訊息的解讀與 6 個常見原因

寄信出去,幾秒鐘之後收件匣多了一封標題是 Mail Delivery Failed 或「郵件無法傳遞」的信。點開來,滿滿的英文,中間夾雜一堆看不懂的代碼,最下面附上你原本寄出去的那封信。

多數人看到這裡就放棄了,直接把整封轉寄給主機商問「這是什麼意思」。但這封退信其實已經把原因寫得清清楚楚,只是它寫在你不會去看的那三行裡。

我們從 2000 年開始經營主機服務,這類轉寄信每週都會收到幾封。實務上,超過一半的退信讀者自己就能判斷並處理,剩下的才真的需要主機端介入。這篇教你怎麼在三十秒內從退信裡找到關鍵那一行,對應到六個最常見的原因,以及什麼時候該停手找人。

先分清楚:硬退信與軟退信

所有退信只分兩種,判斷方式是看狀態碼開頭的第一個數字。這是 SMTP 通訊協定的規範,不分主機商、不分國家,全世界一致。

5 開頭:硬退信(永久性失敗)

對方伺服器明確拒絕,而且說「不用再試了」。地址不存在、網域打錯、被列入黑名單都屬於這一類。你重寄一百次結果都一樣,一定要先改掉什麼東西才有意義。

4 開頭:軟退信(暫時性失敗)

對方伺服器說「現在不行,等一下再來」。信箱滿了、對方主機當機、流量限制都屬於這一類。你的主機會自動重試,通常會持續幾小時到幾天,重試失敗才會發正式的退信給你。

這個區分很重要,因為它直接決定你要不要動作。看到 4 開頭而且信是「延遲通知」而不是「失敗通知」,多數情況下什麼都不用做,等就好。看到 5 開頭則是不處理就永遠寄不到。

狀態碼後面還有兩位數,指出更精確的原因:

狀態碼 意思 類型
5.1.1 收件地址不存在 硬退信
5.1.2 收件網域不存在或查不到郵件主機 硬退信
5.2.2 對方信箱容量已滿(部分主機視為永久失敗) 硬退信
5.7.1 被拒絕,通常與身分驗證或黑名單有關 硬退信
5.3.4 郵件大小超過對方限制 硬退信
4.2.2 對方信箱暫時滿了 軟退信
4.4.1 連不上對方主機,稍後重試 軟退信
4.7.0 對方暫時限制流量(灰名單機制常見) 軟退信

不必背這張表。記住「5 是永久、4 是暫時」,其他查一下就好。

退信信裡只要看三行

一封完整的退信通常有三、四十行,但真正有資訊的只有三行。找到它們,其餘可以全部跳過。

退信信件中的最終收件者、診斷碼與回報主機三個欄位

第一行:Final-Recipient(最終收件者)

告訴你是哪一個地址失敗了。一次寄給十個人的時候特別重要——退信不代表十個人都沒收到,通常只有其中一兩個有問題。很多人看到退信就整批重寄,結果收到的人被打擾兩次。

第二行:Diagnostic-Code(診斷碼)

這是最關鍵的一行,內容是對方伺服器回覆的原話。狀態碼、拒絕理由、有時候還附上對方的說明網址,全都在這裡。例如:

Diagnostic-Code: smtp; 550 5.1.1 <[email protected]>:
Recipient address rejected: User unknown in virtual mailbox table

這一行已經直說了:地址不存在。不需要再查任何東西。

第三行:Reporting-MTA(回報主機)

告訴你這封退信是誰產生的——是你自己的主機,還是對方的主機。這決定了問題出在哪一端,也決定你該找誰。

如果回報主機是你自己的網域,代表你的主機根本沒把信送出去,可能是本地設定、容量或驗證的問題。如果回報主機是對方的網域(例如 google.comhinet.net),代表信已經送到對方門口,是對方拒收。這兩種狀況要往完全不同的方向查。

實務上最常見的誤判,是看到退信就認定「我的主機壞了」。但七、八成的退信是對方拒收,主機這端一切正常。先看回報主機是誰,可以省掉大半的無用排查。

六個最常見的退信原因

原因一:收件地址不存在或拼錯

狀態碼 5.1.1,診斷碼裡通常會出現 User unknownRecipient address rejectedNo such user 這類字眼。

這是最單純的一種,但要注意兩個容易忽略的情況。一是對方離職,公司把信箱停用了,地址從有效變成無效,你的通訊錄卻沒更新。二是從網頁複製地址時把後面的空白或標點一起複製進去,例如結尾多了一個全形句號。收件欄位看起來正常,實際送出的地址卻是錯的。

處理方式:確認地址正確,改用其他管道跟對方確認一次。這一類跟你的主機完全無關,主機商也幫不上忙。

原因二:對方信箱容量已滿

狀態碼 5.2.24.2.2,診斷碼含 Mailbox fullover quota

對方的問題,你能做的只有換個管道通知他清信箱。如果是 4.2.2,你的主機還會持續重試,對方清完信箱之後信會自動送達,不必重寄。

反過來說,如果是別人寄給你被退,而且理由是容量已滿,那就是你自己的信箱該清了。在 cPanel 新手教學:資料庫、信箱、SSL 怎麼設裡有電子郵件帳戶的管理位置,每個帳號的已用容量都看得到。用 IMAP 收信的人特別容易踩到——信件留在伺服器上,本機刪掉不代表伺服器上也刪掉。

原因三:你的網域沒設好郵件驗證,被判定為偽造

狀態碼多為 5.7.15.7.26,診斷碼裡會出現 SPFDKIMDMARCunauthenticateddoes not pass 這些字。

這是六個原因裡最需要你自己動手的一個。對方伺服器的意思是:這封信聲稱來自你的網域,但驗證不通過,看起來像偽造的,所以拒收。Gmail 與 Yahoo 近年對驗證要求越來越嚴,尤其是大量寄送的來源,沒設驗證幾乎必被擋。

三個機制各管一件事:SPF 宣告哪些伺服器可以用你的網域寄信,DKIM 用簽章證明信在途中沒被竄改,DMARC 告訴對方驗證失敗時該怎麼處理。完整的設定步驟與最常見的四個錯誤,寫在企業信箱收不到信、被判垃圾信?SPF/DKIM/DMARC 設定那篇。

有一個狀況特別容易漏掉:你用第三方服務(電子報平台、表單通知、網站的聯絡表單)以自家網域為寄件人寄信。這些服務的伺服器不在你的 SPF 名單裡,信就會被判定偽造。網站的表單通知信寄不出去,十次有八次是這個原因。

cPanel 追蹤傳遞頁面中的寄信失敗紀錄

原因四:寄件 IP 或網域被列入黑名單

診斷碼裡出現 blockedblacklistedlisted in,後面往往還附一個查詢用的網址。

公開的黑名單有好幾十個,Spamhaus 是影響力最大的一個。被列入的原因通常是同一個 IP 在短時間內寄出大量信件,而這件事你自己不一定知情——網站被入侵之後拿去當跳板寄垃圾信是最常見的來源。從主機端看,這種狀況的樣貌很明確:某個帳號的寄信量在幾小時內暴增到平常的數十倍,郵件佇列塞滿,然後整台機器的對外寄信全部開始被退。

如果你的網站近期有異狀,先照網站被駭怎麼辦?WordPress 資安防護與清理完整指南檢查一遍。重點在於:沒有先把入侵管道堵起來就去申請除名,除名之後很快會再被列一次

確認乾淨之後,向黑名單網站提出除名申請。多數黑名單有自助除名,處理時間從幾小時到幾天不等。這一段建議請主機商協助,因為要提供的資訊(IP 歸屬、寄信紀錄、已採取的措施)多半在主機端才拿得到。

原因五:DNS 或 MX 記錄設定不對

狀態碼 5.1.24.4.1,診斷碼含 Host or domain name not foundNo MX record

意思是「找不到該送去哪裡」。分兩種:對方的網域沒設好郵件主機記錄(那是對方的問題),或是你的網域剛換過主機、換過網域註冊商,記錄還指著舊的地方。

後者在搬家之後特別集中,因為網站看起來正常運作,信卻悄悄斷掉——網站的 A 記錄改好了,MX 記錄卻忘了跟著改。這一類問題連同其他五種在主機搬家後常見的 6 個問題:信件收不到、圖片破圖、排名下滑裡有完整的排查順序。要避免這種事,搬家前照更換虛擬主機前必看的 7 個檢查清單先把郵件相關的項目盤點過一次,成本比事後補救低很多。

原因六:郵件太大或內容觸發過濾

狀態碼 5.3.4Message too large)或 5.7.x 搭配 message content rejected

附件大小的限制由收件方決定,各家不同,而且有一個容易誤判的地方:郵件附件會經過編碼,實際傳輸的大小比原始檔案大約多出三分之一。你看到附件是 20 MB,送出去可能已經接近 27 MB。要傳大檔案,用雲端硬碟給連結是比較穩的做法。

內容被拒的狀況比較少見,通常是附件含有可執行檔(.exe.js、壓縮檔裡藏可執行檔),對方的防毒閘道直接擋掉。加密壓縮檔也常被視為可疑,因為掃描器打不開。

剛換主機或換網域之後才開始退信

如果退信是在某個明確的時間點之後才開始的,而且那個時間點剛好是搬家或改設定,優先查這三個地方,順序不要顛倒:

  1. MX 記錄——是否還指著舊主機。舊主機的信箱可能還在跑,你以為沒收到信,其實信都進了舊機器。
  2. SPF 記錄——寄件伺服器換了,SPF 裡的 IP 或主機名稱要跟著換。忘記改的話,新主機寄出去的信會被判定為偽造,也就是前面的原因三。
  3. DKIM 金鑰——換主機通常要重新產生一組,並把新的公開金鑰更新到 DNS。沿用舊的一定驗不過。

這三項在 cPanel 的郵件驗證頁面可以一次看完狀態,三個都顯示為有效才算完成。詳細位置在 SPF/DKIM/DMARC 的設定教學裡有截圖。

另外提醒一個台灣本地常見的狀況:部分 ISP 會封鎖家用網路對外的 25 埠,用來減少垃圾信。如果你在辦公室寄得出去、在家寄不出去,而且錯誤是連線逾時而非退信,把郵件軟體的送信埠改成 587 加上加密驗證通常就解決了。

「收不到信」和「寄不出去」是兩件事

這兩個問題常被混在一起講,但排查方向完全相反。先分清楚自己是哪一種,可以少走很多冤枉路:

  寄不出去(收到退信) 收不到信(沒有任何通知)
方向 你寄給別人,被退回 別人寄給你,沒進來
有沒有線索 有,退信裡寫著原因 沒有,要從別的地方查
先查什麼 退信的診斷碼 垃圾信匣、信箱容量、MX 記錄
常見原因 驗證失敗、黑名單、地址錯誤 被判垃圾信、MX 指錯、過濾規則

「收不到信」最麻煩的地方在於它是沉默的——沒有任何人通知你有信沒進來。所以請對方寄一封測試信,然後自己確認,是唯一可靠的驗證方式。

郵件記錄查詢工具顯示的 MX 記錄與黑名單檢測結果

什麼時候該找主機商

用這三個問題判斷:

  • 回報主機是誰?對方的主機退的,多半是對方端或你的網域設定;你的主機退的,才需要主機端協助。
  • 只有一個收件人失敗,還是全部都失敗?單一失敗幾乎都是地址問題;全部失敗才可能是驗證或黑名單。
  • 診斷碼裡有沒有 blockedblacklisted有的話一定要主機端處理,你自己查不到寄信紀錄。

要找主機商的時候,附上這四樣資訊,處理速度會快很多:

  1. 完整的退信原文(用「轉寄」不要用「複製貼上」,複製會掉掉最重要的技術標頭)
  2. 發生的時間,以及是不是每一封都退
  3. 寄件地址與收件地址
  4. 近期有沒有換過主機、改過 DNS、裝過新的外掛或表單

如果你的信件問題持續發生,或不確定自己的網域驗證設定是否正確,直接與我們聯絡,把退信原文附上即可。判讀退信是我們每天在做的事。

平常就該做的四件事

退信多半不是突然發生,而是設定一直不完整,只是之前對方沒那麼嚴格。以下四件做完,可以省掉絕大多數的退信:

  • 把 SPF、DKIM、DMARC 三個都設起來,而且要包含所有會用你的網域寄信的來源,包括網站表單和電子報平台。
  • 定期看信箱容量。用 IMAP 的帳號尤其要注意,伺服器上的信不會因為本機刪除就消失。
  • 網站的安全性不要拖。被入侵拿去寄垃圾信,代價是整個網域的信譽,而信譽掉下去要花好幾週才養得回來。
  • 換主機、改 DNS 之後主動測試寄信網站上線前必做的 20 項檢查清單裡有郵件相關的項目,上線當天就順手測掉。

選主機的時候,郵件的部分其實有不少差異——是否提供獨立 IP、是否有郵件驗證的管理介面、對外寄信量的限制怎麼算。這些在台灣虛擬主機怎麼選裡有比較完整的說明,也可以直接看台灣主機的方案內容

結語

退信信不是壞消息,它是這套系統裡少數會主動告訴你原因的東西。相較之下,「信被丟進對方垃圾信匣」連通知都沒有,那才是真正難查的問題。

下次再收到退信,不要整封轉寄出去問人。先找診斷碼那一行,看第一個數字是 4 還是 5,再看回報主機是誰。這兩步就能篩掉大部分的狀況,剩下真的需要協助的,你也能把問題描述得夠精確。

5NET專業 SEO 服務

關鍵字策略全面規劃

5NET SEO 關鍵字服務,從搜尋意圖出發,深入分析產業關鍵字與競品布局,協助網站精準鎖定高曝光、高轉換的搜尋字詞。