新手實戰 SMTP - E-mail 的靈魂,什麼是 SMTP?

更新 發佈閱讀 7 分鐘
Generate by ChatGPT

Generate by ChatGPT

最近在工作上有機會接觸到 SMTP(Simple Mail Transfer Protocol)。以前對它的印象是「一個處理信件的中介系統」,類似於訊息傳遞中的 broker,負責把信件整理再發送出去。為了擺脫這種一知半解的狀態,於是深入了研究其原理,發現其實不難理解,也難怪它的名字裡帶有 Simple

本系列預計會分成三篇:

  • 第一篇:介紹 SMTP 的基本原理、工作流程、常見的使用方式與加密機制
  • 第二篇:建立 SMTP Server,探討自建過程中的各種細節
  • 第三篇:延伸應用,將 SMTP 與 Google 行事曆、LINE Notify、股價變化等功能結合

接下來進入正題,什麼是 SMTP?顧名思義它就是一個信件傳輸協定,把信件從寄信端發送到收信端。整個流程大概是這樣(名詞後續會慢慢解釋):

  1. 使用者寄信
  2. 寄件方 MTA 處理
  3. 寄件方與收件方建立 SMTP 連線(Port 25/465/587)
  4. 收件方 MTA 接收,檢查 SPF、DKIM、黑名單與垃圾郵件等
  5. MDA 投遞,將信件存放到使用者的信箱
  6. 收信人讀取信件,使用者透過 POP 或是 IMAP 連線方式收信

1. 使用者寄信
使用者透過郵件客戶端(如 Outlook、Gmail Web)撰寫信件後,MUA 會將信件傳遞給寄件方的 MTA 進行處理。
*MUA(Mail User Agent)- 使用者代理,使用者用來閱讀、撰寫、發送和管理電子郵件的應用程式或軟體
*MTA(Mail Transfer Agent)- 郵件發送代理,主要負責郵件的路由與轉發。SMTP Server 就是 MTA 的一種實作

2. 寄件方 MTA 處理 & 3. 寄件方與收件方建立 SMTP 連線
寄件方 MTA 收到待發送的信件後,會經過以下幾個步驟:

    • 讀取收件人地址:解析收件人信箱(如[email protected]),分離出使用者帳號(Alan)與網域名稱(gmail.com)。
    • 查找收件方伺服器:向 DNS 伺服器查詢該網域名稱的 MX Record(Mail Exchange Record),以取得負責接收該網域郵件的伺服器清單。
    • 建立 SMTP 連線並發送信件:根據查詢結果,使用 SMTP 協定(通常是 Port 25/465/587)與收件方 MTA 建立連線並發送信件。為確保傳輸安全,通常會使用 TLS 加密。若暫時無法連線,信件會被放入重試佇列(Queue),並按策略重新嘗試發送。
      *Port 25 - 主要用途為 MTA 與 MTA 之間的郵件傳輸,但因缺乏強制加密且易被用於發送垃圾郵件,在實務上許多網路會封鎖此埠位的對外連線
      *Port 465 - 使用者對 MTA 發送郵件使用,用於 SSL/TLS 加密,已經比較少使用
      *Port 587 - 用於 MUA 向 MTA 提交郵件,使用 STARTTLS(先連線再升級為加密),是目前實務上通用的 port
    • 紀錄與通知:MTA 會記錄信件的投遞狀態。若最終投遞失敗或重試超過次數上限,系統會產生退信通知(Bounce Mail)並返回給寄件人。
  1. 收件方 MTA 處理
    當寄件方 MTA 將郵件送到收件方 MTA 時,收件方 MTA 會進行多種檢查以確保郵件的合法性與安全性:
    • SPF(Sender Policy Framework)檢查:核對寄件人的 IP 地址是否在其網域名稱的 SPF 記錄所授權的發送伺服器清單中。若檢查失敗,郵件可能被標記為垃圾郵件或拒絕接收。
    • DKIM(DomainKeys Identified Mail)驗證:檢查郵件中的數位簽章,以驗證郵件在傳輸過程中未被竄改,且確實來自其所聲稱的網域。
    • 黑名單檢查:查詢寄件伺服器的 IP 或網域名稱是否被列入已知的垃圾郵件黑名單(DNSBL/RBL)。
      *DNSBL(DNS-based Blackhole List)RBL(Realtime Blackhole List),是透過 DNS 查詢的方式,提供郵件伺服器用來判斷「寄件 IP 是否有垃圾郵件紀錄」的黑名單系統。
    • 垃圾郵件與惡意軟體過濾:綜合評估郵件標題、內容、附件等,並使用演算法判斷其為垃圾郵件的可能性。同時會掃描附件是否含有病毒或惡意軟體。
  1. MDA 投遞
    MDA(Mail Delivery Agent,郵件投遞代理)是郵件系統中負責「最終投遞」的應用。當郵件通過收件方 MTA 的所有安全檢查後,便會交由 MDA 處理,其任務是將郵件準確地存入收件人的信箱中。

    核心功能:
    • 存入信箱:根據收件者帳號,將郵件寫入對應的實體信箱中。儲存位置可能是伺服器上的特定檔案(如 /var/mail/username)或資料庫。
    • 信件處理:可執行進階操作,例如根據自訂規則進行自動分類、過濾(如將特定信件歸檔至資料夾),或執行自動轉寄(forwarding)。
  1. 收信人讀取信件
    當郵件已投遞至信箱後,收件人會透過 MUA (Mail User Agent),使用郵件收取協定從伺服器上取得信件。主要的協定有以下兩種:
    • POP (Post Office Protocol):將郵件從伺服器下載到本地端設備(如電腦、手機),並通常會從伺服器上刪除原始郵件。常使用在單一設備的使用者,優點是可以離線閱讀並且節省空間。
    • IMAP (Internet Message Access Protocol):郵件始終保留在伺服器上,用戶在客戶端(如 Outlook、手機 App)上的所有操作(讀取、刪除、移動郵件)都會與伺服器雙向同步。適合在多台設備存取信箱的使用者,是目前最常見的做法。
gmail 預設為 IMAP 模式

gmail 預設為 IMAP 模式


本篇介紹了 E-mail 傳輸的完整流程,過程中使用的專有名稱比較多,從 MUA、MTA 到 MDA,再到 SMTP、POP、IMAP 等協定,初次接觸需要一點時間慢慢消化。只要仔細思考會發現整個生命週期其實相當清晰直觀:從寄信 MUA > 寄件方 MTA > 收件方 MTA > MDA > 收信 MUA。

理解這些基礎理論之後,下一篇會帶大家實際建立自己的 SMTP Server,並透過簡單的程式範例演示如何將信件寄出去,這樣會更了解這個應用。以上內容如果有描述不精確或是需要補充的地方,再麻煩指正一下,非常感謝!

留言
avatar-img
Alan的沙龍
1會員
12內容數
不定期技術文章、旅遊、人生見解分享
Alan的沙龍的其他內容
2025/08/23
在上一篇《我獨自 Django:快速打造天氣 API 服務(中篇)》中,我們探討了使用 API 的不同方式,一是即時取得資料並顯示;另一則是將資料儲存進資料庫。在理解了如何串接 API 與儲存之後,接下來的重點,就是要逐步的累積資料,以備未來分析時使用。
Thumbnail
2025/08/23
在上一篇《我獨自 Django:快速打造天氣 API 服務(中篇)》中,我們探討了使用 API 的不同方式,一是即時取得資料並顯示;另一則是將資料儲存進資料庫。在理解了如何串接 API 與儲存之後,接下來的重點,就是要逐步的累積資料,以備未來分析時使用。
Thumbnail
2025/08/23
本篇會介紹方法二 : 建立屬於自己的資料庫 。我們會先將外部 API 的天氣數據儲存下來,再透過設計 API 介面來實現歷史資料的查詢與運用。
Thumbnail
2025/08/23
本篇會介紹方法二 : 建立屬於自己的資料庫 。我們會先將外部 API 的天氣數據儲存下來,再透過設計 API 介面來實現歷史資料的查詢與運用。
Thumbnail
2025/08/23
本篇要深入 API 的世界,以常見的天氣資訊應用為例,介紹兩種實作方式 : 1. 直接串接第三方 API : 整合開源天氣數據,重組為符合需求的 Response 2. 建立屬於自己的資料庫 : 先將外部 API 數據儲存後,再設計 API 介面
Thumbnail
2025/08/23
本篇要深入 API 的世界,以常見的天氣資訊應用為例,介紹兩種實作方式 : 1. 直接串接第三方 API : 整合開源天氣數據,重組為符合需求的 Response 2. 建立屬於自己的資料庫 : 先將外部 API 數據儲存後,再設計 API 介面
Thumbnail
看更多
你可能也想看
Thumbnail
這篇文章介紹瞭如何寫出專業的電子郵件開頭句,分享了六種必備的實用模板,讓你可以根據不同情境或目的,填入關鍵詞套用,讓你的email看起來超專業!
Thumbnail
這篇文章介紹瞭如何寫出專業的電子郵件開頭句,分享了六種必備的實用模板,讓你可以根據不同情境或目的,填入關鍵詞套用,讓你的email看起來超專業!
Thumbnail
有時候工作信件上的來來往往百百種,但不外乎就是約會議時間、討論內容、回應問題或是向對方提出要求,這邊就列出一些模擬的情境跟相關信件做為參考。
Thumbnail
有時候工作信件上的來來往往百百種,但不外乎就是約會議時間、討論內容、回應問題或是向對方提出要求,這邊就列出一些模擬的情境跟相關信件做為參考。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
在現代職場中,電子郵件是不可或缺的溝通工具。無論是與同事、客戶、還是合作夥伴交流,電子郵件都是最常用的方式之一。然而,並非所有人都能寫出有效且專業的電子郵件。一封好的電子郵件,可以讓你在職場中脫穎而出,並帶來以下好處:提高工作效率:清晰簡潔的電子郵件,可以讓收件人快速掌握重點,並做出回應。
Thumbnail
在現代職場中,電子郵件是不可或缺的溝通工具。無論是與同事、客戶、還是合作夥伴交流,電子郵件都是最常用的方式之一。然而,並非所有人都能寫出有效且專業的電子郵件。一封好的電子郵件,可以讓你在職場中脫穎而出,並帶來以下好處:提高工作效率:清晰簡潔的電子郵件,可以讓收件人快速掌握重點,並做出回應。
Thumbnail
在日常生活和工作中,我們經常需要發送電子郵件來進行溝通和分享資訊。本文將介紹如何使用Python的pywin32模組連接到Outlook,並通過程式來自動發送郵件。
Thumbnail
在日常生活和工作中,我們經常需要發送電子郵件來進行溝通和分享資訊。本文將介紹如何使用Python的pywin32模組連接到Outlook,並通過程式來自動發送郵件。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
最近在研究 Email Marketing,發現寄信服務有產業限制,建議在購買之前確認 TOC,並注意回覆訂閱者的問題。使用 Cloudflare 和 Gmail 來轉寄所有信件到自己的網域信箱。建議直接購買 Zoho 或 MxRoute 來省去架 Mail Server 的麻煩。
Thumbnail
最近在研究 Email Marketing,發現寄信服務有產業限制,建議在購買之前確認 TOC,並注意回覆訂閱者的問題。使用 Cloudflare 和 Gmail 來轉寄所有信件到自己的網域信箱。建議直接購買 Zoho 或 MxRoute 來省去架 Mail Server 的麻煩。
Thumbnail
這篇文章分享如何透過免費電子郵件課程提供價值,建立信任,並引導訂閱者購買付費產品。透過豐富內容、獨特風格,以及AI的幫助,讓你的需求看起來更具吸引力。
Thumbnail
這篇文章分享如何透過免費電子郵件課程提供價值,建立信任,並引導訂閱者購買付費產品。透過豐富內容、獨特風格,以及AI的幫助,讓你的需求看起來更具吸引力。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
 程式開發,功能 :               本程式執行後,自動寄出email,寄出的內容可依照讀取的參數檔內容而決定
Thumbnail
 程式開發,功能 :               本程式執行後,自動寄出email,寄出的內容可依照讀取的參數檔內容而決定
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News