我們每天都會接觸 Email。學校通知、網站註冊、忘記密碼,甚至老師傳資料,都可能透過 Email 完成。
以前收到一封信時,我最先注意的通常是「寄件者」
OO市教育局 <notice@example.edu.tw>
看到這種,我會很直覺地認為,這就是寄信的來源。
直到老師上課提到 Email 的結構,我才發現自己一直把「畫面上看到的資訊」和「郵件真正傳送時使用的資訊」當成同一件事。
其實,我們平常看到的 From、To、Cc、Subject,都屬於郵件的 Header。它們主要是讓收信的人知道這封信是誰寫的、寄給誰,以及主旨是什麼。
但 SMTP 真正傳送郵件時,還有另一層「信封資訊」,例如:
MAIL FROM
RCPT TO
其中 RCPT TO 才是郵件系統在投遞時使用的收件資訊。
寄信時,郵差是看信封外面的地址決定要把信送去哪裡;至於信紙裡面寫了「寄件人是誰、這封信是寫給誰」,那是讓收信的人閱讀的內容。
Email 其實也有類似的概念。
這也讓我理解了以前一直覺得很神奇的 Bcc。明明信寄到我的信箱,打開後 To 裡卻可能完全沒有我的 Email。
原來地址可以只存在 SMTP 的 RCPT TO 裡,不一定要出現在信件 Header 的 To 欄位。