電子郵件工作原理
引言
每天,通過互聯網發送的電子郵件有數十億封之多。如果您經常上網,或許一天隨隨便便就要發十幾封信。顯然,電子郵件已經成為日常生活中廣泛使用的溝通工具。
電子郵件能繞過半個地球從您的電腦到達您朋友的收件箱,您是否想過這是什么原理呢?什么是POP3服務器,它如何存放您的郵件?您也許不知道這些問題的答案,但電子郵件的基本原理其實非常簡單。在本文中,我們將為您深入分析。
一封電子郵件
據記載,工程師雷?湯姆林森(Ray Tomlinson)在1971年發送了史上第一封電子郵件。此前,人們只能給使用同一臺電腦的人留言。湯姆林森的突破在于通過使用@標識指明接受消息的計算機,實現了通過互聯網向其他計算機發送郵件。
James Nielsen攝影/AFP/Getty Images供圖 (Hurricane Katrina)襲擊期間,大衛?瑞克特(David Ryckaert) (圖右)和他來自比利時布魯塞爾的妻子娜塔莉(Nathalie) 正在查看電子郵件。 |
電子郵件從始至終都是以文本形式出現的,也就是發送給接收者的一段文字。時至今日,人們發送的電子郵件通常仍是簡短文字。雖然現在可以通過添加附件,使郵件內容極大豐富。但即使添加了附件,郵件信息的文本形式仍然沒有改變——我們在下文中討論電郵附件的時候,將繼續探討這個問題。
電子郵件客戶端
或許您今天已經收到了幾封郵件。查看郵件時,您就是在使用電子郵件客戶端。流行的電郵客戶端包括Microsoft Outlook、Outlook Express、Foxmail等等。Hotmail或Sina等免費電子郵件服務提供的是基于網頁的客戶端。不同類型的客戶端一般都有以下四個基本功能:
- 以郵件標頭的形式呈現您郵箱中的所有郵件。標頭包括發件人和郵件主題,還可能包含郵件的發送時間、日期以及郵件大小。
- 用戶可以點選標頭,閱讀相應郵件。
- 用戶可以新建并發送郵件。寫信時要輸入收件人地址、郵件主題和郵件內容。
- 用戶可以在發送郵件時添加附件,也可保存來信中的附件。
高級的電子郵件客戶端可能有許多其他功能,但以上這四個基本功能是所有電子郵件客戶端的核心。
簡單的電子郵件服務器
只要您的機器上安裝了電子郵件客戶端,就已經做好發送和接收電郵的準備了。接下來,您只需要把客戶端連接到電子郵件服務器。為了方便您了解電子郵件的收發過程,我們先設想一個最簡單的模型,然后再來研究實際的電子郵件服務器。
|
- 服務器中建有電子郵件帳戶列表,每位用戶都有一個帳戶,可以借此從服務器收取郵件。比如說,我的郵件帳戶可能是mbrain,約翰?史密斯(John Smith)的帳戶可能是jsmith。
- 每個帳戶在服務器中都對應一個文本文檔。因此,服務器文件目錄中有一個名為MBRAIN.TXT的文本文檔,還有一個名為JSMITH.TXT的文檔。
- 給我發送郵件的人會通過郵件客戶端以文本形式向我發送消息,郵件內容可能是這樣的:“馬歇爾,我們周一中午一起吃飯怎么樣?約翰”,收件人地址寫的是我的郵箱地址。約翰點擊了“發送”鍵后,他的郵件客戶端連接到郵件服務器,并把收件人的用戶名(mbrain)、發件人的用戶名(jsmith)以及郵件內容傳送到服務器。
- ?服務器把這些信息進行格式處理后,放置到MBRAIN.TXT文件中。這條消息在該文件中看起來可能是這樣的:
From:jsmith
To:mbrain
馬歇爾:
我們周一中午一起吃飯怎么樣?
約翰
服務器還會在該文件中存儲一些其他信息,比如收到郵件的時間和日期以及郵件主題。您可以看出整個過程十分簡單。
更復雜的服務器
當別人給我的帳戶(mbrain)發送郵件時,服務器把郵件按照收到的先后順序添加到對應文本文檔的末尾。等到我登陸閱讀郵件時,文本文檔中可能已經存儲了5或10封郵件。當我想要閱讀郵件時,我的郵件客戶端連接到服務器計算機,簡單說,郵件客戶端會:
- 要求服務器發送MBRAIN.TXT的副本
- 要求服務器清除并重置MBRAIN.TXT文件
- 把MBRAIN.TXT文件存儲到我的本地計算機
- 分析文檔得到獨立的郵件(使用“From”作分隔符)
- 將所有郵件標頭按列表形式顯示出來
我雙擊一封郵件的標題后,客戶端在文本文件中找到這封郵件,并把消息內容展現出來。
您可以看出這個系統非常簡單。也許您想不到,真正的電子郵件系統也不比這復雜多少。
真正的電子郵件系統
目前,對于大多數用戶來說,電郵服務器計算機上運行著兩套服務器程序。其中一個叫SMTP服務器,SMTP是“Simple Mail Transfer Protocol(簡單郵件傳輸協議)”的縮寫,SMTP服務器負責處理發送的郵件;另一個是POP3服務器或IMAP服務器,這兩個服務器都負責處理收到的郵件。POP是“Post Office Protocol(郵局協議)”的縮寫,而IMAP的全稱是“Internet Mail Access Protocol(互聯網郵件訪問協議)”。電子郵件服務器的結構一般如下圖所示:
|
SMTP服務器監聽端口25,POP3服務器監聽端口110,IMAP服務器監聽端口143(請閱讀Web服務器工作原理了解更多關于端口的知識)。
SMTP服務器
在發送電子郵件時,您的電子郵件客戶端和SMTP服務器進行會話。主機上的SMTP服務器還可能與其他SMTP服務器會話以發送郵件。
|
假設我想發送一封電子郵件到jsmith@mindspring.com。我的電子郵件用戶名是brain,使用的是howstuffworks.com的郵件系統和Outlook Express之類的獨立客戶端。
設置好howstuffworks的郵件帳戶后,我在Outlook Express中輸入了郵件服務器名稱——mail.howstuffworks.com。寫完郵件,點擊發送鍵后:
- Outlook Express通過端口25連接到mail.howstuffworks.com的SMTP服務器。
- Outlook Express和SMTP服務器進行會話,告訴SMTP服務器發件人和收件人的地址以及郵件內容。
- SMTP服務器獲取收件人地址(jsmith@mindspring.com)后把它分成兩部分:收件人的用戶名(jsmith)和域名(mindspring.com)。如果收件人是howstuffworks.com的另一位用戶,SMTP服務器直接把信息通過投遞代理(delivery agent)程序傳輸到howstuffworks.com的POP3服務器。mindspring.com和howstuffworks.com是不同的域名,在這種情況下, SMTP服務器需要和收件人域名服務器(Domain Name Server,DNS)進行會話。
- SMTP服務器與域名服務器進行會話(請閱讀Web服務器工作原理了解更多信息)。SMTP服務器說:“請給我mindspring.com的SMTP服務器的IP地址。”然后域名服務器會把mindspring的SMTP服務器的一個或幾個IP地址發送到SMTP服務器。
- howstuffworks.com的SMTP服務器通過端口25與mindspring的SMTP服務器連接起來,并把郵件傳輸到Mindspring服務器。它們之間的通訊與我的郵件客戶端和HowStuffWorks服務器之間的會話是一樣的,都是簡單的文本通訊。Mindspring服務器找出了jsmith這個用戶名,于是把郵件交給了Mindspring的POP3服務器,POP3服務器再把郵件發送到jsmith的郵箱。
如果由于某種原因,HowStuffWorks的SMTP服務器無法連接Mindspring的SMTP服務器,郵件會進入隊列(queue)中。大多數計算機上的SMTP服務器使用sendmail代理程序發送郵件,因此這一隊列被稱為sendmail隊列。sendmail會定期重新發送隊列中的郵件,比如說,它可能每15分鐘重新發送一次。如果四小時后還沒有發送成功,sendmail通常會向您發送一封報錯郵件。五天后,根據大多數sendmail的配置,sendmail會放棄繼續發送郵件并把郵件返回給發件人。
SMTP服務器有一些非常簡單的文本命令,如HELO、MAIL、RCPT、DATA等等。最常見的命令包括:
- HELO - 介紹自己
- EHLO - 介紹自己并要求擴展模式
- MAIL FROM - 指明發件人
- RCPT TO - 指明收件人
- DATA - 確認郵件內容(前三行應為To、From和郵件主題)
- RSET - 重置
- QUIT - 退出進程
- HELP - 命令幫助
- VRFY - 驗證地址
- EXPN - 擴展地址
POP3服務器和IMAP服務器
在最簡單的POP3應用中,服務器確實管理著大量文本文件——每個郵件帳戶對應一個文件。有新郵件時,POP3服務器直接把郵件放置到收件人文本文檔的末尾。
當您查看郵件時,您的電子郵件客戶端通過端口110連接到POP3服務器。在此過程中,您必須輸入用戶名和密碼才能連接。登陸后,POP3服務器打開您的帳戶對應的文本文檔,這樣您就可以查看郵件了。和SMTP服務器一樣,POP3服務器也有一些非常簡單的文本命令,其中最為常用的包括:
- USER - 輸入用戶名
- PASS - 輸入密碼
- QUIT - 退出POP3服務器
- LIST - 列出郵件及其大小
- RETR - 獲取某一編號的郵件
- DELE - 刪除某一編號的郵件
- TOP - 顯示某一編號的郵件前面幾行的內容
您的電子郵件客戶端連接到POP3服務器,并發布一系列命令,把郵件拷貝到本地計算機。一般來說,郵件客戶端接著會刪除服務器上的郵件(除非您命令客戶端不要這樣做)。
我們可以把POP3服務器看做電子郵件客戶端和包含郵件文本的服務器之間的媒介,POP3服務器的原理就是這么簡單。您可以通過端口110遠程登錄POP3服務器,然后自己發布命令(瀏覽Web服務器工作原理,了解關于遠程登陸服務器的更多信息)。
塔米·普魯特(Tammy Pruett)和她的丈夫利昂(Leon) 正在閱讀他們在伊拉克服役的兒子發來的電子郵件。 |
IMAP服務器
從上文可以看出,POP3服務器的協議非常簡單。在這種協議中,您的郵件以文本形式存儲在服務器里。您的電子郵件客戶端(如Outlook Express)可以連接到POP3服務器并把文本文件從服務器的文檔中下載到本地計算機。POP3的原理就是這樣的。
很多用戶對電子郵件服務器有更高的要求,而且希望郵件能夠保存在服務器上。因為如果郵件保存在服務器上,用戶從任何計算機都能獲取郵件。而使用POP3服務器,只能在下載郵件的計算機上查看信息。有的用戶在辦公室用的是臺式機,但在外出時則使用筆記本,POP3服務器很難滿足用戶在臺式機和筆記本電腦上同時查看電郵的需求。
IMAP(互聯網郵件訪問協議)是更為先進的協議,它能解決上述問題。使用IMAP服務器時,用戶的郵件保存在郵件服務器上。您可以把郵件整理到文件夾中,文件夾也保存在服務器上。當您搜索郵件時,事實上是在服務器主機上進行搜索,而不是本地計算機。這樣用戶可以從任何計算機訪問所有文件夾中的所有郵件。?
IMAP的問題和電子郵件的附件
電子郵件客戶端通過端口143連接IMAP服務器。連接之后,電子郵件客戶端可以向服務器發布命令,比如列出服務器上的所有文件夾、列出某個文件夾中的所有郵件標頭、從服務器中獲取某封郵件、刪除服務器上的郵件或搜索服務器中的所有郵件等。
也許有人會問:“我的郵件都存儲在服務器上,如果無法上網怎么閱讀郵件?”這正是IMAP服務器的問題之一。為了解決這個問題,大多數電子郵件客戶端都通過某種方法把電子郵件存儲到本地計算機中。郵件內容仍然保存在IMAP服務器上,但本地計算機上存有備份。這樣即使無法上網也能閱讀和回復電子郵件。下次接入網絡時,您可以把收到的新郵件下載下來,并把回復的郵件發送出去。
附件
使用電子郵件客戶端可以在郵件中實現發送或下載附件的功能。附件可能包括文本文件、電子表格、聲音文件、圖片或軟件。附件一般來說不是純文本文檔(文本可以直接在正文中發送)。電子郵件只能包含文本信息,而附件不是文本,這樣就出現了新的問題。
比如這種視頻郵件就是通過附件發送的。 |
在電子郵件發展早期,人們要使用二進制數據編碼工具uuencode程序手動處理這個問題。uuencode程序會假定文件中的信息是二進制的。它從二進制文件中每次提取3個字節并把它們轉換成4個文本字符(也就是說它一次提取6位,然后轉化成32位的文本字符——請閱讀位和字節,了解更多關于ASCII字符的信息)。因此,uuencode對原來的二進制文件經過編碼處理后產生的是僅包含文本字符的文件。在電子郵件的早期階段,人們只能自己運行uuencode,把經過處理的文件粘貼到電子郵件中發送。
電子郵件對現今社會產生了巨大影響,它改變了我們的溝通方式,今天的電子郵件系統可以說是一項最為簡單實用的發明。電子郵件系統中的某些部分比較復雜,如sendmail的路由規則,但總的來說,整個系統簡單得令人難以置信。您下次再發送郵件的時候,就完全明白郵件是怎樣發送出去的了。
免費電子郵件服務和收費電子郵件服務
不管是工作需要,還是要和家人朋友保持聯系,人們都依靠互聯網發送和接收電子郵件。根據2007年3月皮尤互聯網及美國生活項目(Pew Internet and American Life Project)的調查研究,91%的美國互聯網用戶上網發送或接收電子郵件,56%的電子郵件用戶每天都收發電郵。
Google和雅虎等服務商提供免費郵件服務。 |
市場調查公司拉迪卡蒂集團(Radicati Group)2007年10月的一份調查報告顯示2006年每天發送的郵件達1,830億封。使用電子郵件的人如此之多,難怪有那么多電子郵件服務商。您可以選擇Gmail或雅虎等免費電子郵件服務,也可以選擇美國在線(America Online)、蘋果或零網公司(NetZero)提供的收費電子郵件服務。
電子郵件禮儀
多數人在與同事、客戶或上級交談時非常注意禮貌,但在使用電子郵件與別人溝通時常常會忽略這一點。
人們使用電子郵件時常常一不小心就違反了電子郵件禮儀。多數人在商業交流上不會使用粗俗無禮的語言,但要是提高嗓門呢?使用電子郵件是否也存在這個問題?
Marc Dietrich攝影 |Dreamstime供圖 在電子郵件交流中要保持禮貌,否則會引起意想不到的后果。 |
接下來,我們將討論一下使用電子郵件發送商務信函的一些禮儀。
人們很忙,所以:
- 要寫明標題。您可能常常想跳過電郵標題,但別忘了提醒自己每個人都很忙,包括這封電郵的收件人。標題對收件人有提示作用,看過標題收件人在閱讀正文時就能抓住重點、理清頭緒。
- 要寫得簡明扼要。也許您能把文章寫得機智風趣,但收件人更喜歡簡短清晰。您可以在寫生日賀卡或說祝酒詞時使用雙關語和詼諧的語言,但在書寫電子郵件時最好開門見山,按照收信人的要求和需要書寫。
- 要保護別人的隱私。有些人習慣在寫電子郵件時引用別人發送的郵件,這種做法會讓郵件顯得冗長,而且收信人也會感到奇怪。除非是確有必要引用別人的來信,否則發信人和收信人之間的郵件不應向第三者傳播。
- 要盡快回復。收到郵件后不要拖延,最好盡快回復,哪怕是先告訴發信人您需要更多時間來給出回復。
人們很敏感,所以:
- 使用標點加強語氣要慎重。在一句話結束后使用“????”或“!!!!”,收信人讀起來可能會覺得您在大喊大叫或是非常不滿。要按照常規使用標點。
- 書寫時不要全部使用大寫字母。全部使用大寫字母書寫就像說話時大聲叫喊,這是不禮貌的,所以要按照規范使用大寫字母。想要表示強調時可以這樣寫“我想強調一下……”。
- 發送之前出聲讀一遍。盡管您認為自己寫的內容不會有什么歧義,但在發送之前自己出聲讀一遍郵件是有好處的,這樣您可以體會到收信人讀這封郵件的感受,讀完之后再點擊“發送”。郵件是書面形式的,發送出去就很難收回來。收信人可能把您的郵件打印出來,也可能轉發您的郵件。在郵件中不要寫您不想在整個公司甚至公司以外傳播的內容。
- 情緒不穩定時不要寫郵件。或許在書寫郵件時最常見的失禮之處就是在氣頭上發送了一封針對收信人或某件事情的言辭過激的電郵。請參考上面“發送之前出聲讀一遍”的建議。向別人發火之后再后悔是沒有用的。
不是所有人都很新潮,所以:
- 盡量不要使用表情符號。“笑臉”符號是一種很流行的表達情緒和語義的溝通方式。但是您知道挖苦的笑和調皮的笑有什么區別嗎?即使您確切地知道二者的區別,您能保證收信人也知道嗎?我們很容易就能想到使用表情符號有可能無意間冒犯別人,因此盡量不要使用此類符號。
- 盡量不要使用縮寫短語。有的人在寫郵件時常常使用IMHO(in my humble opinion,依我的拙見)、FWIW(for what it’s worth,隨便說說)、ROTFL(rolling on the floor laughing,笑得在地板上打滾)等縮寫短語。收信人可能看不懂這種縮寫而感到莫名其妙。
電子郵件就像商務信函一樣,忽略基本規則是對收信人的不尊重,千萬不要因為不正式的郵件破壞了收信人對您的印象。
Gmail和雅虎通過向郵箱用戶展示廣告獲取利潤。在網上很容易找到人們對各種免費電子郵件的評價,下面就為您簡要列舉幾條。
- Gmail——Gmail是Google提供的免費電子郵件服務。Gmail的網上存儲空間幾乎是沒有限制的。它還具有分類功能,用戶可以方便快捷地整理收件箱找出重要信息。免費的Gmail根據用戶郵件中的關鍵詞向用戶發布廣告,這種廣告被稱為內容關聯廣告(contextual advertisement)。Gmail能處理多種類型的附件,還具有垃圾郵件攔截和病毒掃描功能。
- 雅虎電郵——雅虎電郵是最流行的免費郵箱服務之一。雅虎提供無限制的網上存儲空間,還有即時通訊和RSS新聞訂閱功能。雅虎郵箱有十幾個文件夾,能夠把收到的郵件存儲到不同文件夾中,垃圾郵件被自動送入垃圾郵件文件夾,用戶還可以手動清理垃圾郵件。此外,方便的拖放工具也是雅虎電郵的特點之一。
- MSN Windows Hotmail——Hotmail是另一款使用人數眾多的免費郵箱。Hotmail郵箱服務是微軟公司提供的,這種郵箱有5GB的在線存儲空間。靈活的界面設計使用戶可以定制郵箱的顏色和外觀,用戶可以選擇經典模板,也可以換成特色鮮明的最新模板。微軟的安全功能和方便的拖放工具是許多用戶選擇Hotmail郵箱的原因。
很多收費郵箱的功能和服務更多,比如可能提供更大的存儲空間。
付費用戶更容易得到個性化的郵箱地址——比如,以真實姓名作為郵箱的用戶名。有時付費用戶即使更換了ISP(互聯網服務提供商),也能保留原有的郵件地址。收費郵箱服務能提供更為完善的用戶支持以及個性化垃圾郵件過濾器、額外電子郵件帳戶和手機郵箱等特色功能。
大多數互聯網服務商免費提供電子郵箱服務。還有一些付費電子郵件服務是專門面向小型企業的,可以為小型企業提供購買和維護域名的服務。
評論
查看更多