SMTP 是做什麼的?
SMTP(Simple Mail Transfer Protocol,簡易郵件傳輸協定)負責提交與傳送電子郵件。
想像郵局收件櫃檯:先確認窗口有開,再詢問服務、交代收件地址,最後才交付信件。窗口接受某一步,與收件人實際收到信,是不同階段。
SMTP 列舉就是整理服務招呼、支援功能與命令回覆,用來盤點郵件系統及檢查資訊揭露。SMTP 規格
25、587、465,分別在哪裡用?
- TCP 25:郵件伺服器之間傳送郵件的標準入口。 - TCP 587:郵件用戶端提交郵件的標準入口。 - TCP 465:透過隱含 TLS 提交郵件;連線開始就進行 TLS 協商。
「提交」像把信交給自己的郵局;「伺服器間傳送」像郵局接力運送。實際服務與政策,要看協定回應和管理設定。郵件提交|提交服務與 TLS
依用途辨識,再查實際回應與設定。
- TCP 25
郵件伺服器之間傳送郵件。
- TCP 587
用戶端提交郵件;傳輸保護另查。
- TCP 465
隱含TLS提交;連線開始就協商TLS。
哪些命令與回覆值得認識?
先掌握各命令在問什麼:
- EHLO:介紹用戶端,取得伺服器宣告的延伸功能;HELO 是較基本的招呼方式。 - VRFY:請伺服器查證使用者或郵件地址資訊。 - EXPN:請伺服器展開郵件清單。 - RCPT TO:在郵件交易中提出收件地址,屬投遞流程的一部分。 - QUIT:結束連線。
VRFY、EXPN 的資訊可能因政策受到限制。RCPT TO 的回覆則要放回當次交易條件判讀。
例如 252 表示無法完成地址查證,但表示願意接受郵件並嘗試投遞;地址是否有效仍待核對。550 可能涉及地址不存在、存取限制或政策拒絕,要保留完整文字。
同樣是 250,也要記下它回覆哪個命令:接受收件地址,與收完郵件內容後承擔投遞責任,是不同階段;最後是否送達,另查投遞紀錄。命令與回覆判讀
若回覆還附有 5.1.1、5.7.1 這類加強狀態碼,可協助區分地址問題與政策問題。仍要一起看命令、完整回覆及伺服器日誌。加強狀態碼
STARTTLS 與 AUTH,各自處理什麼?
STARTTLS 用來把既有 SMTP 連線升級成 TLS。看到伺服器宣告 STARTTLS,代表它提供這項能力;實際傳輸保護要確認協商成功、憑證驗證與有效設定。
TLS 建立後,應重新送 EHLO,取得當時的功能清單,因為清單可能改變。STARTTLS 規格
AUTH 用來進行身分驗證。伺服器列出 AUTH 方法,是能力宣告;完成驗證並收到成功回覆,才是這次驗證成功的證據。該身分能寄往哪些目的地,仍由授權政策決定。SMTP 身分驗證
TLS 保護連線,AUTH 確認身分,郵件轉送政策決定允許的用途,三者一起看。
用一個合成案例串起來
以下是假想的授權實驗室紀錄,沒有連線、查詢或寄信。伺服器與測試名稱都已事先約定:
- 建立連線:收到 220 招呼。 - 送出 EHLO:回覆功能清單,其中有 STARTTLS。 - 在約定範圍查證合成名稱 labuser:VRFY 回覆 252。 - 結束連線;本例未進行身分驗證、收件地址測試或郵件提交。
可以記成:
SMTP 服務回覆招呼,並宣告 STARTTLS。對 labuser 的查證回覆為 252,地址有效性待核對。本例保留功能宣告與查證回覆;TLS 協商、登入、投遞及轉送能力另行驗證。
這份紀錄的成果是整理服務能力與查證回覆;後續可以依驗證目的補上對應證據。
這是教材情境的順序,不是學習完成狀態。
- 220招呼
記錄服務回應。
- EHLO功能
記錄STARTTLS能力宣告。
- VRFY 252
保留查證回覆,地址有效性待核對。
- 結束與整理
TLS協商、登入與投遞留待各自驗證。
防護與證據怎麼做?
防護先從服務用途出發:
- 將 VRFY、EXPN 的可用範圍與回覆資訊,限制在需要的管理情境。 - 設定明確的收件網域與轉送政策,避免成為 Open Relay(開放轉送),讓未獲授權的外部來源利用伺服器替外部目的地送信。 - 對提交服務落實身分驗證與 TLS,妥善保護帳密。 - 觀察大量地址查詢、驗證失敗與異常郵件交易,搭配限制及日誌調查。SMTP 反濫用建議|提交服務的傳輸保護
每次保存時間、來源位置、目標與埠、TLS/驗證狀態、命令階段及完整回覆。驗證送達或轉送能力時,另外約定受控的寄件端、收件端與投遞證據。
公開教材使用合成地址;私人帳密、郵件內容與真實收件人資料留在受保護紀錄。
小檢核
伺服器在 EHLO 回覆中列出 STARTTLS,對 VRFY labuser 回覆 252。同事說:「這代表 labuser 存在,而且我們已經用加密連線成功寄信。」
請用兩三句話說明:目前確認了什麼?加密連線、地址有效性與郵件送達,各還需要什麼證據?
這是待回答的小檢核。網站不會自動送出答案或更新理解;Q&A待實際問題與討論。下一核心為M04-07 Unix/Linux使用者列舉。
概念 Q&A
待補:收到相關問題後,會整理為匿名教學版。