目前最重要的網路應用是什嗎?毫無疑問,依然是電子郵件!
mail--只是一個操作介面,並不完成實質性的工作,它相當於上門服務的郵政快遞員,和更複雜一些的mutt以及windows上的outlook(outlook有所不同,因為它整合了大部分的東西)是一樣的;一般情況下,mail的設定檔中總會有一行:
set sendmail="/usr/bin/msmtp"
這就是說mail在接受了使用者的輸入之後,使用msmtp發送之,當然也可以使用別的,或者說快遞員收到你要發的快遞後,使用msmtp這個組織來為你服務。
fetchmail--它從POP郵箱中取回郵件,但是並不處理,只是取回而已,當然它也有預設操作,這正是unix哲學中“只做好一件事”的體現;
procmail--它負責處理fetchmail取回的郵件,轉寄,還是本地接收;一般情況下在fetchmail的設定檔中有下面這麼一行資訊:
mda "/usr/bin/procmail -d user"
這就是說當fetchmail將郵件取回後,procmail將郵件發送給本機使用者user,這樣郵件預設就到了/var/mail/user這個檔案裡面了。
msmtp--它將“郵遞員”送上的信件發送到目的地郵局,類似sendmail。
總的過程是:
寫信->mail->msmtp->smtp伺服器->...>pop伺服器(郵箱)->fetchmail->procmail->讀信
最終,我們發現,真正做事的是寄件者和取回者,也就是msmtp和fetchmail,而mail/mutt/和procmail僅僅是一個直接和使用者接觸的代理。於是,我們知道,所謂的126.com和163.com等提供的WEB頁面僅僅是一個整合了所有東西的操作介面,有人會遇到在使用這些郵箱的時輸入本文的時候會被自動換行,這些並不是郵件伺服器的問題,正是WEB頁面導致的,可能是為了美觀,或者別的什麼,也可能是頁面的作者很菜。實際上,背景郵件伺服器是不會觸動你郵件的任何格式的,它們只是幫你將郵件送到目的地,如果收到郵件後發現格式變了,那一定是發送的時候格式就變了,可能隱藏了WEB頁面的提交之中而不為你所見也不為你所控制,於是你大肆抱怨郵件伺服器。就連微軟的郵件伺服器都不會篡改你信件的格式,別的伺服器會篡改嗎?不要怪伺服器,要怪用戶端。