SMTP 回應碼
郵件退信與拒收時附帶的三位數 SMTP 回應碼及增強狀態碼(X.Y.Z)參考。可依代碼或文字搜尋,也可以直接貼上伺服器傳回的整行內容。

共 117 個代碼,顯示 117 個

基本回應碼

2xx肯定完成回應9
211System status

系統狀態或系統說明回應。實務上很少使用。

RFC 5321
214Help message

針對 HELP 指令傳回的說明訊息,介紹伺服器或特定指令的用法。

RFC 5321
220Service ready

建立連線時伺服器的初始問候,表示服務已就緒。也用來回應 STARTTLS,表示可以開始 TLS 交涉。

RFC 5321
221Service closing transmission channel

伺服器關閉連線,通常是回應 QUIT 指令。

RFC 5321
235Authentication successful

AUTH 驗證成功。通常附帶增強碼 2.7.0。

RFC 4954
250Requested mail action okay, completed

要求的動作已完成。這是對 EHLO、MAIL FROM、RCPT TO 的一般回應,也會在 DATA 結束、伺服器接受郵件時傳回。

RFC 5321
251User not local; will forward

收件者不是本機使用者,但伺服器接受這封郵件,並會轉寄到指定的位址。

RFC 5321
252Cannot VRFY user, but will accept message

伺服器不確認使用者是否存在(為防止帳號列舉而停用 VRFY),但會接受郵件並嘗試遞送。

RFC 5321
253OK, pending messages for node started

對 ETRN 的回應:伺服器已開始遞送佇列中寄往所要求網域或節點的郵件。

RFC 1985 (ETRN)
3xx肯定中間回應2
334Server challenge

AUTH 過程中伺服器送出的 Base64 編碼挑戰。用戶端必須以驗證機制的下一筆資料回應(例如 AUTH LOGIN 的使用者名稱或密碼)。

RFC 4954
354Start mail input

對 DATA 的回應:伺服器等待接收郵件內容,內容以只有一個句點的一行結束。

RFC 5321
4xx暫時性錯誤9
421Service not available, closing transmission channel

服務無法使用,伺服器關閉連線:可能是正在關機、負載過高、連線數過多或觸發暫時性的寄送限制。寄件端應稍後重試。

RFC 5321
432A password transition is needed

使用者必須先變更密碼或改用其他驗證機制,才能完成驗證。附帶增強碼 4.7.12。

RFC 4954
450Requested mail action not taken: mailbox unavailable

信箱暫時無法使用:忙碌、遭鎖定,或因政策暫時拒收。灰名單(greylisting)通常會傳回這個代碼或 451。

RFC 5321
451Requested action aborted: local error in processing

因伺服器本機錯誤(例如 DNS 查詢失敗或過濾器沒有回應)而中止動作。寄件端應稍後重試。

RFC 5321
452Requested action not taken: insufficient system storage

伺服器目前沒有足夠空間接收這封郵件。也可能表示超過單封郵件的收件者數量上限,此時用戶端應在另一個交易中寄出其餘收件者。

RFC 5321
454Temporary authentication failure

暫時性的驗證失敗(例如憑證伺服器沒有回應),或要求 STARTTLS 時 TLS 暫時無法使用。

RFC 4954 / RFC 3207
455Server unable to accommodate parameters

伺服器目前無法處理 MAIL FROM 或 RCPT TO 中送出的參數,但稍後可能會接受。

RFC 5321
458Unable to queue messages for node

對 ETRN 的回應:伺服器目前無法處理所要求節點的郵件佇列。

RFC 1985 (ETRN)
459Node not allowed

對 ETRN 的回應:所要求的節點或網域無權要求遞送其佇列。

RFC 1985 (ETRN)
5xx永久性錯誤17
500Syntax error, command unrecognized

伺服器無法辨識該指令,或該行過長。AUTH 交換過程中某一行超過允許的最大長度時也會使用。

RFC 5321
501Syntax error in parameters or arguments

指令有效,但參數無效:例如 MAIL FROM 中的位址格式錯誤,或 EHLO 中的名稱無效。

RFC 5321
502Command not implemented

伺服器能辨識該指令,但未實作或已停用,許多伺服器上的 VRFY 和 EXPN 就是如此。

RFC 5321
503Bad sequence of commands

指令順序錯誤,例如在 MAIL FROM 之前送出 RCPT TO,或在沒有有效收件者時送出 DATA。有些伺服器在未驗證就嘗試寄信時也會傳回此代碼。

RFC 5321
504Command parameter not implemented

伺服器不支援指定的參數,例如要求了不支援的 AUTH 機制。

RFC 5321
521Server does not accept mail

這台主機不接收任何郵件。它取代 220 作為問候訊息送出,用戶端不應重試。

RFC 7504
530Authentication required

伺服器要求先驗證身分,或先以 STARTTLS 啟動 TLS,才會接受該指令。未提供憑證就使用 587 提交連接埠時很常見。

RFC 4954 / RFC 3207
534Authentication mechanism is too weak

依伺服器的政策,所選的驗證機制強度太弱。要求使用應用程式密碼或 OAuth 的郵件服務供應商有時會傳回此代碼。

RFC 4954
535Authentication credentials invalid

使用者名稱或密碼錯誤,或憑證遭拒。附帶增強碼 5.7.8。

RFC 4954
538Encryption required for requested authentication mechanism

所選的驗證機制只允許在加密連線上使用:必須先執行 STARTTLS。

RFC 4954
550Requested action not taken: mailbox unavailable

信箱不存在或無法使用,或郵件因政策遭拒(垃圾郵件、黑名單、SPF、DKIM 或 DMARC)。具體原因要看隨附的增強碼。

RFC 5321
551User not local; please try forward-path

收件者不是本機使用者,伺服器不會轉寄這封郵件;可能會告知應改寄到哪個位址。

RFC 5321
552Requested mail action aborted: exceeded storage allocation

超過配置的儲存空間:收件者信箱已滿,或郵件超過 SIZE 擴充功能宣告的大小上限。

RFC 5321
553Requested action not taken: mailbox name not allowed

電子郵件位址無效或不被允許,例如語法錯誤,或寄件者無權使用該位址。

RFC 5321
554Transaction failed

交易失敗。若作為初始問候出現,表示不為該用戶端提供 SMTP 服務;若出現在 DATA 之後,表示郵件遭拒收,通常是因為內容或寄件者信譽。

RFC 5321
555MAIL FROM/RCPT TO parameters not recognized or not implemented

伺服器無法辨識或未實作 MAIL FROM 或 RCPT TO 中送出的擴充參數。

RFC 5321
556Domain does not accept mail

收件者網域發布了 null MX(指向「.」的 MX 記錄),宣告不接收郵件,因此重試沒有意義。

RFC 7504

增強狀態碼(RFC 3463)

2.X.X成功4.X.X持續性暫時失敗5.X.X永久失敗
X.0其他或未定義1
X.0.0Other undefined status

沒有更多細節的狀態:只知道結果類別(成功、暫時失敗或永久失敗)時使用。

RFC 3463
X.1位址11
X.1.0Other address status

郵件中的某個位址有問題,且不屬於更具體的代碼。

RFC 3463
X.1.1Bad destination mailbox address

目的伺服器上不存在該收件者信箱。這是位址打錯或帳號已停用所造成的典型退信。

RFC 3463常搭配的代碼
X.1.2Bad destination system address

目的網域或系統不存在或無法接收郵件,例如網域無法解析。

RFC 3463
X.1.3Bad destination mailbox address syntax

收件者位址的語法無效。

RFC 3463常搭配的代碼
X.1.4Destination mailbox address ambiguous

收件者位址在目的系統上符合多個信箱。

RFC 3463
X.1.5Destination address valid

收件者位址有效。會以 2.1.5 的形式出現在 RCPT TO 的肯定回應中。

RFC 3463常搭配的代碼
X.1.6Destination mailbox has moved, No forwarding address

這個信箱曾經存在,但已搬移,且沒有已知的轉寄位址。

RFC 3463
X.1.7Bad sender's mailbox address syntax

寄件者位址的語法無效。

RFC 3463
X.1.8Bad sender's system address

寄件者網域不存在或不接收回覆,例如既沒有 MX 記錄也沒有 A 記錄。

RFC 3463常搭配的代碼
X.1.9Message relayed to non-compliant mailer

郵件已交給不支援狀態通知的系統,因此無法確認最終是否送達。

RFC 3886
X.1.10Recipient address has null MX

收件者網域發布了 null MX,宣告不接收郵件。

RFC 7505常搭配的代碼
X.2信箱5
X.2.0Other or undefined mailbox status

信箱存在,但與它相關的某個問題導致無法遞送,且沒有更具體的代碼。

RFC 3463
X.2.1Mailbox disabled, not accepting messages

信箱存在但已停用,不接收郵件,例如遭停權的帳號。

RFC 3463
X.2.2Mailbox full

收件者信箱已超過儲存空間配額。

RFC 3463常搭配的代碼
X.2.3Message length exceeds administrative limit

郵件超過收件者可接收的大小上限。

RFC 3463常搭配的代碼
X.2.4Mailing list expansion problem

收件者是郵寄清單,但無法展開為其成員。

RFC 3463常搭配的代碼
X.3郵件系統7
X.3.0Other or undefined mail system status

目的系統發生問題,且不屬於更具體的代碼。

RFC 3463常搭配的代碼
X.3.1Mail system full

目的郵件系統的儲存空間已滿。

RFC 3463常搭配的代碼
X.3.2System not accepting network messages

目的主機因即將關機、負載過高或維護中而暫不接收郵件。

RFC 3463 / RFC 7504常搭配的代碼
X.3.3System not capable of selected features

目的系統不支援郵件所需的某項功能。

RFC 3463
X.3.4Message too big for system

郵件超過伺服器對任何收件者都接受的大小上限。

RFC 3463常搭配的代碼
X.3.5System incorrectly configured

目的系統設定錯誤,無法接收這封郵件。

RFC 3463
X.3.6Requested priority was changed

郵件已被接受,但使用的優先順序與要求的不同(MT-PRIORITY 擴充功能)。

RFC 6710常搭配的代碼
X.4網路與路由8
X.4.0Other or undefined network or routing status

發生網路或路由問題,且不屬於更具體的代碼。

RFC 3463
X.4.1No answer from host

嘗試連線時,目的伺服器沒有回應。

RFC 3463常搭配的代碼
X.4.2Bad connection

連線已建立,但在完成遞送前中斷或變得不穩定。

RFC 3463常搭配的代碼
X.4.3Directory server failure

遞送所需的目錄服務失敗,通常是 DNS 解析失敗。

RFC 3463常搭配的代碼
X.4.4Unable to route

找不到通往目的地的路由,例如網域沒有可用的 MX 或 A 記錄。

RFC 3463
X.4.5Mail system congestion

郵件系統壅塞,目前無法處理這封郵件。

RFC 3463常搭配的代碼
X.4.6Routing loop detected

偵測到路由迴圈:郵件在相同的伺服器之間經過太多次。

RFC 3463
X.4.7Delivery time expired

已超過最長重試時間,郵件未能送達並遭捨棄。

RFC 3463
X.5傳遞協定7
X.5.0Other or undefined protocol status

傳遞協定發生問題,且不屬於更具體的代碼。

RFC 3463常搭配的代碼
X.5.1Invalid command

指令無效、目前不允許使用,或無法辨識。

RFC 3463常搭配的代碼
X.5.2Syntax error

指令有語法錯誤,伺服器無法解譯。

RFC 3463常搭配的代碼
X.5.3Too many recipients

郵件的收件者數量超過伺服器在單一交易中接受的上限。

RFC 3463常搭配的代碼
X.5.4Invalid command arguments

指令有效,但其引數無效或不受支援。

RFC 3463常搭配的代碼
X.5.5Wrong protocol version

用戶端與伺服器之間的協定版本不相容。

RFC 3463
X.5.6Authentication Exchange line is too long

AUTH 交換過程中的某一行超過伺服器允許的最大長度。

RFC 4954常搭配的代碼
X.6郵件內容10
X.6.0Other or undefined media error

郵件內容有問題,且不屬於更具體的代碼。

RFC 3463
X.6.1Media not supported

目的地不支援郵件或其某個附件的內容類型。

RFC 3463
X.6.2Conversion required and prohibited

遞送郵件需要轉換其內容,但寄件者禁止轉換。

RFC 3463
X.6.3Conversion required but not supported

遞送郵件需要轉換其內容,但伺服器無法進行這種轉換。

RFC 3463常搭配的代碼
X.6.4Conversion with loss performed

郵件已送達,但內容轉換過程中遺失了部分資訊。

RFC 3463常搭配的代碼
X.6.5Conversion Failed

郵件內容轉換失敗。

RFC 3463
X.6.6Message content not available

無法取得以 URL 參照的郵件內容(BURL 擴充功能)。

RFC 4468常搭配的代碼
X.6.7Non-ASCII addresses not permitted for that sender/recipient

寄件者或收件者不支援含有非 ASCII 字元的位址(國際化電子郵件,SMTPUTF8)。

RFC 6531常搭配的代碼
X.6.8UTF-8 string reply is required, but not permitted by the SMTP client

伺服器需要以 UTF-8 文字回應,但用戶端沒有宣告支援 SMTPUTF8。

RFC 6531常搭配的代碼
X.6.9UTF-8 header message cannot be transferred to one or more recipients

郵件含有 UTF-8 標頭,無法傳送給一個或多個不支援它的收件者,因此遭拒收。

RFC 6531常搭配的代碼
X.7安全性與政策31
X.7.0Other or undefined security status

沒有更多細節的安全性狀態。出現在驗證成功(2.7.0)、AUTH 暫時失敗(4.7.0)以及因政策遭拒收的情況。

RFC 3463常搭配的代碼
X.7.1Delivery not authorized, message refused

寄件者無權寄信給該收件者:因黑名單、信譽、反垃圾郵件機制或未經允許的轉送(relay)嘗試而遭封鎖。以 4.7.1 形式出現時通常表示灰名單。

RFC 3463常搭配的代碼
X.7.2Mailing list expansion prohibited

寄件者無權寄信到該郵寄清單。

RFC 3463常搭配的代碼
X.7.3Security conversion required but not possible

需要將郵件從一種安全協定轉換為另一種,但無法完成。

RFC 3463
X.7.4Security features not supported

郵件需要的安全功能,目的地不支援。

RFC 3463常搭配的代碼
X.7.5Cryptographic failure

傳輸過程中的加密運算失敗,例如簽章驗證或解密失敗。

RFC 3463
X.7.6Cryptographic algorithm not supported

目的地不支援郵件所使用的加密演算法。

RFC 3463
X.7.7Message integrity failure

完整性驗證失敗:郵件在傳輸途中遭到修改,或檢查碼不符。

RFC 3463
X.7.8Authentication credentials invalid

驗證憑證無效:使用者名稱或密碼錯誤。

RFC 4954常搭配的代碼
X.7.9Authentication mechanism is too weak

所選的驗證機制強度低於伺服器政策的要求。

RFC 4954常搭配的代碼
X.7.10Encryption Needed

使用所要求的驗證機制需要外部加密層(例如 TLS)。主要針對以明文傳送密碼的機制。

RFC 5248常搭配的代碼
X.7.11Encryption required for requested authentication mechanism

所要求的驗證機制只允許在加密連線上使用。

RFC 4954常搭配的代碼
X.7.12A password transition is needed

使用者必須變更密碼或改用其他驗證機制。

RFC 4954常搭配的代碼
X.7.13User Account Disabled

嘗試驗證的使用者帳號已停用。

RFC 5248常搭配的代碼
X.7.14Trust relationship required

伺服器只接收來自已建立信任關係之系統的郵件。

RFC 5248常搭配的代碼
X.7.15Priority Level is too low

郵件優先順序太低,目前無法接收(MT-PRIORITY 擴充功能)。

RFC 6710常搭配的代碼
X.7.16Message is too big for the specified priority

以指定的優先順序而言,郵件太大(MT-PRIORITY 擴充功能)。

RFC 6710常搭配的代碼
X.7.17Mailbox owner has changed

自寄件者指定的日期以來,這個信箱已更換擁有者,因此郵件不予遞送(RRVS 擴充功能)。

RFC 7293
X.7.18Domain owner has changed

自寄件者指定的日期以來,收件者網域已更換擁有者(RRVS 擴充功能)。

RFC 7293
X.7.19RRVS test cannot be completed

伺服器無法依寄件者的要求確認信箱是否已更換擁有者(RRVS 擴充功能)。

RFC 7293
X.7.20No passing DKIM signature found

郵件沒有任何有效的 DKIM 簽章,而收件端政策要求必須有。

RFC 7372常搭配的代碼
X.7.21No acceptable DKIM signature found

郵件有有效的 DKIM 簽章,但沒有一個符合收件端政策(例如簽署網域或演算法不符)。

RFC 7372常搭配的代碼
X.7.22No valid author-matched DKIM signature found

郵件沒有來自 From 標頭所示同一網域的有效 DKIM 簽章。

RFC 7372常搭配的代碼
X.7.23SPF validation failed

寄件 IP 未在寄件者網域的 SPF 記錄中獲得授權。

RFC 7372常搭配的代碼
X.7.24SPF validation error

SPF 評估發生錯誤,例如記錄格式錯誤或 DNS 查詢次數過多。

RFC 7372常搭配的代碼
X.7.25Reverse DNS validation failed

寄件 IP 沒有反向 DNS(PTR),或傳回的主機名稱無法正向解析回該 IP。

RFC 7372常搭配的代碼
X.7.26Multiple authentication checks failed

郵件的多項驗證檢查同時失敗,例如 SPF 與 DKIM。

RFC 7372常搭配的代碼
X.7.27Sender address has null MX

寄件者網域發布了 null MX,無法接收回覆與退信,因此郵件遭拒收。

RFC 7505常搭配的代碼
X.7.28Mail flood detected

這封郵件疑似屬於大量類似濫發郵件的一部分。

draft-levine-mailbomb-header
X.7.29ARC validation failure

ARC 鏈驗證失敗。ARC 用來在郵件經過轉寄服務或郵寄清單時保留驗證結果。

RFC 8617常搭配的代碼
X.7.30REQUIRETLS support required

郵件要求 REQUIRETLS,但路徑上的下一台伺服器不支援此擴充功能,因此無法在確保加密的情況下遞送。

RFC 8689常搭配的代碼

貼上伺服器的完整回應,例如 550 5.7.1 Message rejected,即可同時查看基本碼與增強碼。搜尋基本碼時,也會列出通常與它一起出現的增強碼。

運作方式

在 SMTP 工作階段中,用戶端的每個指令(EHLO、MAIL FROM、RCPT TO、DATA 等)都會收到伺服器以三位數代碼開頭的回應。第一位數表示結果:2 代表成功,3 代表伺服器在等待更多資料,4 代表暫時性錯誤,5 代表永久性錯誤。第二位數表示類別:x0z 為語法,x1z 為資訊,x2z 為連線,x5z 為郵件系統。代碼後面的文字格式不拘,由各伺服器自行撰寫;程式只看數字。

三位數很難說明具體原因,因此 RFC 3463 定義了增強狀態碼,格式為「類別.主題.細節」:5.1.1 表示與位址(1)相關的永久失敗(5),原因是信箱不存在(1)。類別重複第一位數的意義(2、4 或 5),主題將原因歸類,細節則進一步明確化。使用增強碼的伺服器會在 EHLO 回應中以 ENHANCEDSTATUSCODES 擴充功能宣告,同樣的代碼也會出現在退信的 Status 欄位中。

此表彙整了 RFC 5321 的基本碼、常用擴充功能(AUTH、STARTTLS、ETRN 與 null MX)新增的代碼,以及 IANA 登錄表中的所有增強碼,並標出每個增強碼通常搭配的基本碼。大型郵件服務供應商會加上自己的說明文字與說明連結,但使用的始終是這些編號。

範例

550 5.1.1 <nadie@example.com>: Recipient address rejected: User unknown in local recipient table5xx Permanent · X.1.1 Bad destination mailbox address帳號不存在時 Postfix 傳回的典型退信。重試沒有用,必須更正位址。如果以前能正常寄給這位收件者,最可能是該帳號已被停用。
450 4.2.0 <ana@example.com>: Recipient address rejected: Greylisted4xx Transient · X.2.0 Other or undefined mailbox status灰名單:伺服器暫時拒絕陌生的寄件者,等待它重試。正規的郵件伺服器會在幾分鐘後自動重試,郵件隨即被接收;而許多垃圾郵件程式從不重試。
AUTH LOGIN334 VXNlcm5hbWU6334 帶有 Base64 編碼的挑戰:VXNlcm5hbWU6 是「Username:」,下一個 UGFzc3dvcmQ6 是「Password:」。如果憑證錯誤,伺服器會回應 535 5.7.8;如果要求先加密,則回應 538 或 530。

使用情境

  • 根據伺服器傳回的錯誤訊息,了解郵件被退回的原因。
  • 判斷錯誤是暫時性的(佇列會自動重試),還是永久性的(需要處理)。
  • 在應用程式、印表機或伺服器上設定寄信功能時,排查驗證失敗。
  • 解讀郵件伺服器記錄檔中因 SPF、DKIM、DMARC、反向 DNS 或黑名單造成的拒收。
  • 在大量寄信平台中將退信分類,移除不存在的位址。
  • 閱讀以 telnet、openssl s_client 或 swaks 擷取的 SMTP 工作階段。

常見問題

4xx 錯誤和 5xx 錯誤有什麼不同?

4xx 是暫時性錯誤:寄件端伺服器會把郵件留在佇列中定期重試,一般持續四到五天,仍失敗才放棄並產生退信。5xx 是永久性錯誤:會立即退信,不做任何修改就重寄同一封郵件仍會失敗。

為什麼回應中有兩個代碼,例如 550 5.1.1?

第一個是 RFC 5321 規定必須有的三位數基本碼;第二個是 RFC 3463 的增強狀態碼,用來說明具體原因:同樣是 550,可能是信箱不存在(5.1.1)、遭政策封鎖(5.7.1)或 SPF 驗證失敗(5.7.23)。排查問題時,應以增強碼為主。

550-5.7.1 中的連字號是什麼意思?

表示這是多行回應。每一行都帶有相同的代碼,但中間的行以連字號分隔代碼與文字,最後一行則用空格,用戶端藉此判斷回應何時結束。EHLO 傳回的擴充功能清單也是同樣的格式。

位址明明存在,為什麼會被 550 5.7.1 拒收?

因為 5.7.1 針對的不是收件者,而是寄件者:伺服器不允許你把這封郵件遞送給它。常見原因包括:寄件 IP 在黑名單中、網域的 SPF、DKIM 或 DMARC 驗證失敗、IP 沒有反向 DNS,或未經驗證就試圖把伺服器當作轉送伺服器(relay)。代碼後面的文字通常會提供線索。

為什麼從應用程式寄信時會出現 530 或 535?

530 表示伺服器要求先驗證身分或啟動 TLS,才會接受郵件;535 表示使用者名稱或密碼錯誤。請確認應用程式使用 587 連接埠搭配 STARTTLS,或 465 連接埠搭配隱含式 TLS,且已啟用驗證;若是 Gmail 或 Microsoft 365 等服務供應商,還要使用應用程式密碼或 OAuth,而不是平常的登入密碼。