你有沒有想過電郵是如何工作的呢? 為何先要設定電郵客戶端程式 (Email Clients 或 Email Programs) 才可收發電郵呢? 在設定電郵客戶端程式的 SMTP 及 pop3 究竟是什麼東西呢?

這一個電郵課程可以解答以上的問題, 讀完這一個電郵課程, 你可以了解電郵是如何工作的, 包括以下幾點:

  1. 電郵如何從你的電腦送到你的朋友
  2. 你的電腦如何接收你朋友寄給你的電郵
  3. 你為何要設定電郵客戶端程式才可收發電郵
  4. 電郵伺服器 (Mail server) 是如何工作的

SMTP 及 POP3 電郵伺服器如何工作

電郵的收發是由電郵伺服器 (Mail servers) 負責處理的。

其實, 電郵伺服器是由二個不同的伺服器所組成的, 這二個伺服器分擔不同的工作, 它們是:

SMTP 伺服器 – 主要處理外送的電郵

POP3 伺服器 – 主要處理內收的電郵

外送電郵即是從你的電腦送到你朋友的電郵, 而內收電郵即是從你的電腦接收你朋友寄給你的電郵。

以下是電郵伺服器的概念簡圖:

SMTP 伺服器

SMTP (Simple Mail Transfer Protocol) 是處理電郵收發的通訊協定, 當電郵伺服器安裝了SMTP, 就可以處理電郵的收發了。

假設現在你使用你電腦的電郵客戶端程式 (例如: Netscape Mail, Internet Mail, Outlook, 等等)送出電郵, 按了 ‘SendMail’ 按鈕後, 電郵客戶端程式便會立即聯絡設定的 SMTP 伺服器 (例如: 你 ISP 的 SMTP 伺服器), 當 ISP 的電郵伺服器聽到 Port 25 有訊號 (敲門), SMTP 伺服器便會’開門’和你的電郵客戶端程式寒喧幾句 (例如: Please to meet you. I am…, I need to send an email to….from…., 等等…)。客戶身份確實後, SMTP 伺服器便將信件接收 ,並放在’等候外寄郵件’的隊伍的最後, 等候寄出。

等候寄信時間要視乎當時 SMTP 伺服器需要處理電郵的數量, 但一般都很短, 當輪到你的電郵要寄出時, SMTP 伺服器會和收信的 SMTP 伺服器聯絡, 收信的 SMTP 伺服器一樣會’開門’和寄信的 SMTP 伺服器寒喧幾句, 收信人的身份確實後, 收信的SMTP伺服器便將信件收下, 放入 POP3 伺服器的收信人的戶口。

POP3 伺服器

POP3 伺服器 (Post Office Protcol) 是一個非常簡單的東西, 它只不過是用來儲存一大堆的文字檔案 (text files), 每一個文字檔案即是一個電郵戶口, 例如, 如果你的電郵用戶是 william, POP3 伺服器內便有一個名叫 william.txt 的文字檔案, 又如果你的電郵用戶是 patrick, POP3 伺服器內便有一個名叫 patrick.txt 的文字檔案了。

舉電郵用戶 william 為例, 每當 william 的電郵戶口收到新的電郵, 新的電郵便會加到 william.txt 文字檔案的最後。如果 william 沒有收信的話, 新的電郵會繼續加到 william.txt 文字檔案。

當 william 使用電腦的電郵客戶端程式要求收信, 按了 ‘Send Mail’ 按鈕後, 電郵客戶端程式便會立即聯絡設定的 POP3 伺服器, POP3 伺服器會要求客戶輸入戶口名稱及密碼, 如果正確的話, POP3 伺服器便會開啟 william.txt, 這樣, william 便可隨意的處理他的電郵了。

電郵收發詳細過程 (How Email Works)

現在, 我們藉以下一個例子, 探討電郵收發的詳細過程。

電郵收發例子:
William 首先使用 Netscape Mail 寄一封電郵給我們, 我們的電郵地址是: general@MyGreatName.com. 然後我們會用 Netscape Mail 收取信箱的電郵。

William 電腦的 Netscape Mail 電郵客戶端程式設定如下:

姓 名 : william
電 郵 : william@YourDomain.com
SMTP 伺 服 器 : smtp.Your_ISP.com
SMTP 伺 服 器 User Name : william123
POP3 伺 服 器 : pop3.YourDomain.com
User Name : william
Password : 1234

William 要外送電郵給我們的內容:

Alex,
I like to sign up your service. Your service is great!
William 

我們電腦的電郵客戶端程式設定如下:

姓 名 : Alex
電 郵 : general@MyGreatName.com
SMTP 伺 服 器 : smtp.MyGreatName.com
POP3 伺 服 器 : MyGreatName.com
POP3 伺 服 器 User Name : general
Password : 9999

以下是整個電郵的收發程序的簡圖 :

我們首先討論外送電郵的程序

外送電郵

當 William 寫完以上的電郵, 按了 ‘Send Mail’ 按鈕, 電郵便開始踏上征途:

  1. William 電腦的 Netscape Mail 電郵客戶端程式立即跑去並接通設定的 SMTP 伺服器 (即 smtp.Your_ISP.com) 的連接埠 25 (Port 25)。
  2. Netscape Mail 通知 smtp.Your_ISP.com 伺服器寄信人及收信人的資料。
  3. smtp.Your_ISP.com 伺服器確認寄信人的資料正確, 便將信件接收, 並放在’等候外寄郵件’的隊伍的最後, 等候寄出。
  4. 假設正在 smtp.Your_ISP.com 伺服器等候外寄的郵件有 100封, 所以 William 要寄給我們的電郵要放在第 101 的位置等候寄出。
  5. smtp.Your_ISP.com 伺服器非常忙碌的將郵件寄出. 100, 99, 98, 97 ……5, 4, 3, 2, 1. Okay! 到你啦 !
  6. smtp.Your_ISP.com 伺服器現正處理 William 的電郵, 伺服器首先將電郵收信人的地址 (general@MyGreatName.com) 分為二部份, 如下: 收信人的戶口名稱 – 即 general
    收信人的網域名稱 – 即 MyGreatName.com
  7. 因為網域名稱 (MyGreatName.com) 是人類才看得懂的, 電腦必須要 MyGreatName.com 的 SMTP 伺服器 (smtp.MyGreatName.com) 的 IP 地址才可以溝通的, 要得到 smtp.MyGreatName.com 的 IP 地址, smtp.Your_ISP.com 伺服器必須首先聯絡網域名稱伺服器 (Domain Name Server), 查詢smtp.MyGreatName.com 伺服器的 IP 地址。
  8. Domain Name Server 回覆了 smtp.MyGreatName.com 伺服器的 IP 地址給 smtp.Your_ISP.com 伺服器。
  9. smtp.Your_ISP.com 伺服器現在有了 smtp.MyGreatName.com 的伺服器的 IP 地址, 便可以接通 smtp.MyGreatName.com 的連接埠 25, 並通知 smtp.MyGreatName.com 伺服器有信要寄給它。
  10. smtp.MyGreatName.com 伺服器確認電郵戶口名稱 general 是在 MyGreatName 的一個電郵戶口, 便將電郵交去 MyGreatName.com 的 POP3 伺服器。
  11. MyGreatName.com POP3 伺服器開啟 general 的電郵戶口 (general.txt), 將電郵的內容加入 general.txt 內. general.txt 的最後幾行內容將會如下:
-------------------------
-------------------------
-------------------------
From : xxxxxx
To : general
Subject : The 20th Email
Alex,
xxxxxxxxxxxxxxxxxx,
xxxxxxxxxxxxxxxxxx.
Customer
From : William
To : general
Subject : Sign Up
Alex,
I like to sign up your service.
Your service is great!
William

到此, William 寄給我們的電郵已經安全到達我們的電郵信箱了, 外送電郵的程序亦告一段落。

跟著, 我們會討論內收電郵的程序

內 收 電 郵

  1. 我們定時會檢查我們的信箱有沒有新的電郵, 現在 Alex 按下 Netscape Mail 的 ‘Receive Mail’ 按鈕。
  2. Netscape Mail 電郵客戶端程式立即跑去並接通設定的 POP3 伺服器(即 MyGreatName.com) 的連接埠 110 (Port 110)。
  3. MyGreatName.com POP3 伺服器要求客戶輸入戶口名稱及密碼, 如果正確的話, POP3 伺服器便會開啟 general.txt 文字檔案, 並將所有新的電郵下傳到 Alex 的個人電腦內。general.txt 的內容亦會清除 (當然, 也可以設定保留所有電郵在 general.txt 內)。

到此, 整個電郵的收發程序已經完成了!

電郵伺服器是如何工作 (完)

網頁寄存知識 編寫於 2001年2月