「干货」什么Linux是邮件服务器?
每天我們都會(huì)收到很多的郵件,但是從來(lái)沒(méi)有了解過(guò)郵件是怎么實(shí)現(xiàn)收發(fā)的,也沒(méi)有自己配置過(guò)一臺(tái)郵件服務(wù)器。
今天我們就來(lái)認(rèn)識(shí)一下什么是郵件服務(wù)器。
常見(jiàn)的郵件服務(wù)器軟件介紹
Sendmail:sendmail 是最古老的 MTA(Mail Transfer Agent,電子郵件系統(tǒng))之一,最早它誕生的時(shí)候,Internet 還沒(méi)有被標(biāo)準(zhǔn)化,當(dāng)時(shí)主機(jī)之間使用的是 UUCP 技術(shù)來(lái)交換郵件。它被設(shè)計(jì)得比較靈活,便于配置和運(yùn)行于各種類型的機(jī)器。
Qmail:qmail 是新生一代的 MTA 代表,它以速度快、體積小、易配置安裝等特性而著稱。作者 D.J.Bernstein 是一個(gè)數(shù)學(xué)教授,富有傳奇色彩。他于 1995 年開(kāi)發(fā) qmail,1996 年發(fā)布 0.70 版,并使用了多種當(dāng)時(shí)比較先進(jìn)的 技術(shù),包括 Maildir,與 sendmail 單個(gè) binary 不同的模塊化設(shè)計(jì),權(quán)限分離,以及使用了大量由他編寫(xiě)的配套工具,如 daemontool,ucsip-tcp 等。qmai 迅速成為了 Internet 上最有名的 MTA,使用者眾。
postfix:postfix 如今已經(jīng)獨(dú)樹(shù)一幟,流水線、模塊化的設(shè)計(jì),兼顧了效率和功能。靈活的配置和擴(kuò)展,使得配置 postfix 變得富有趣味。其主要的特點(diǎn)是速度快、穩(wěn)定,而且配置/功能非常強(qiáng)大,并和 sendmail 類似,提供了與外部程序?qū)拥?API/protocol。尤其是配置部分,postfix 另一個(gè)優(yōu)勢(shì)是至今依然保持活躍的開(kāi)發(fā)工作,而且穩(wěn)步發(fā)展,適合高流量大負(fù)載的系統(tǒng),擴(kuò)充能力較強(qiáng)。本實(shí)驗(yàn)也是基于 postfix 服務(wù)器軟件來(lái)實(shí)現(xiàn)。
郵件服務(wù)器原理介紹
下面我們將會(huì)學(xué)習(xí)郵件服務(wù)器原理。
郵件服務(wù)器基本的工作原理
- MUA(Mail User Agent):向外發(fā)送郵件,以及提供用戶瀏覽與編寫(xiě)郵件的功能。
- MTA(Mail Transfer Agent):(可以理解為 smtpd 服務(wù)器)幫忙將用戶的郵件傳遞出去或接收進(jìn)來(lái)。
- MDA(Mail Delivery Agent):將接收下來(lái)的郵件存放到對(duì)應(yīng)用戶郵筒當(dāng)中的程序。通過(guò)分析 MTA
所收到郵件的表頭或內(nèi)容,來(lái)判斷此郵件是屬于哪個(gè)用戶,然后決定將此郵件投遞給哪個(gè)用戶的郵筒里。 - MRA(Mail Retrieval Agent):通過(guò) MRA 服務(wù)器提供的郵政服務(wù)協(xié)議(POP)來(lái)接收自己的郵件。
用戶(MUA)通過(guò) SMTP 協(xié)議將郵件發(fā)送到服務(wù)器(MTA),服務(wù)器分解發(fā)現(xiàn)如果是本地的郵件傳輸則通過(guò) lmtp 來(lái)傳送,如果是遠(yuǎn)程郵件將調(diào)用本地的客戶端使用 SMTP 協(xié)議向?qū)Ψ椒?wù)器傳送。
當(dāng)對(duì)方的服務(wù)器接收到郵件之后,發(fā)現(xiàn)如果不是本機(jī)所負(fù)責(zé)的域,則將郵件交給本機(jī)的郵件客戶端,根據(jù)郵件目標(biāo)域請(qǐng)求 DNS 解析,將郵件發(fā)送到目標(biāo)服務(wù)器,或者丟至下一跳此過(guò)程稱為郵件中繼,如果發(fā)現(xiàn)是本機(jī)負(fù)責(zé)區(qū)域內(nèi)的用戶,則 SMTPD 將郵件轉(zhuǎn)交給 MDA,由 MDA 把郵件傳遞到用戶的郵筒。
用戶通過(guò) MUA 查看郵件的時(shí)候,會(huì)將郵件從郵筒拉到用戶家目錄,保存為 mbox 的文件。
郵件中繼:
- SMTPD 要支持郵件路由功能,需要打開(kāi) Open Relay 開(kāi)放式中繼。
- SMTPD 是根據(jù)收件人判斷郵件是否需要中繼,而且只給指定的客戶端中繼。
郵件服務(wù)器與 DNS 之間的關(guān)系
關(guān)于 DNS 的介紹和 DNS 服務(wù)器的配置可以查看《Linux 系統(tǒng)搭建及配置 DNS 服務(wù)器》。
**注:**當(dāng) DNS 上存在多個(gè) MX 記錄的主機(jī)這時(shí)就是根據(jù) DNS 的郵件級(jí)判斷了。DNS 上定義的值越小,其優(yōu)先級(jí)越高。輔助交換器接受到郵件并不能保存郵件。而是這個(gè)輔助交換器會(huì)等到主郵件交換器空閑的時(shí)候把代替它接受下來(lái)的郵件在轉(zhuǎn)給主郵件交換器。所以任何郵件處理都是主郵件交換器處理的。所以我們實(shí)際情況下,如果有 2 臺(tái)服務(wù)器做郵件交換器,性能比較高的應(yīng)該為主的。
參考資料
如果你覺(jué)得這篇文章有用的話就點(diǎn)一個(gè)贊吧!
關(guān)注我,收獲更多編程知識(shí)和實(shí)用干貨!
總結(jié)
以上是生活随笔為你收集整理的「干货」什么Linux是邮件服务器?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 「干货」编程语言十大经典算法,你知道几个
- 下一篇: 为什么建议使用Linux?从“白嫖”到精