Postfix基本概念

本文章內容:

Postfix基本概念。

UUCP:Unix to Unix Copy,在SMTP協議出現之前sendmail就出現了,那時候用的是UUCP協議,後來改為SMTP協議。

SMTP:Simple Mail Transfer Protocol,從名字上看的出來非常簡單,所以它的功能非常簡陋,比方說沒法實現用戶認證,我們登入信箱的時候帳號密碼的檢測它無法完成,再比方當郵件送達到目標伺服器以後,郵件怎麼存下來它也無法完成,再比方怎麼讓用戶檢索到自己的郵件,它仍然無法完成,所以簡單,它僅僅負責將郵件從發送方傳送到目的方。

ESMTP:Extended Simple Mail Transfer Protocol,從SMTP上做了一點點基本功能的補充,但依然簡單。SMTP與ESMTP比較:https://blog.xuite.net/soulwind1002/wretch/363190858-SMTP+%E8%88%87+ESMTP+%E5%8D%80%E5%88%A5

LMTP:Local Mail Transfer Protocol。將郵件傳輸到本機自己。

POP3:Post Office Protocol,3是版本號,是一種接收電子郵件之標準協定。

IMAP4:Internet Message Access Procotol,4是版本號。實現的功能和POP3近似,它倆有一個就行;IMAP4的功能要POP3強大,因此消耗的資源較多。POP3與IMAP4比較:https://www.dataplugs.com/tc/kb/what-is-the-difference-between-pop3-and-imap/

MUA:Mail User Agent,郵件用戶代理。 MTA:Mail Transfer Agent,郵件傳輸代理。 MDA:Mail Delivery Agent,郵件投遞代理。 MRA:Mail Retrieval Agent,郵件接收代理。 Mailbox:以前是在用戶家目錄下有個mbox目錄,現在則是在/var/spool/mail/用戶帳號。

Open Relay:開放中繼。

SASL:Simple Authentication and Security Layer,簡單認證與安全層。cyrus-sasl軟件提供認證框架,還要搭配認證模塊來提供認證。courier中的courier-authlib,美籍俄羅斯人提供的一個可以搭配cyrus-sasl的cyrus-sasl-sql.x86_64模塊認證的庫。

[root@localhost ~]# yum list all | grep sasl
cyrus-sasl-lib.x86_64                       2.1.26-23.el7              @anaconda
cyrus-sasl.i686                             2.1.26-23.el7              base     
cyrus-sasl.x86_64                           2.1.26-23.el7              base  #認證框架   
cyrus-sasl-devel.i686                       2.1.26-23.el7              base     
cyrus-sasl-devel.x86_64                     2.1.26-23.el7              base     
cyrus-sasl-gs2.i686                         2.1.26-23.el7              base     
cyrus-sasl-gs2.x86_64                       2.1.26-23.el7              base  #認證模塊   
cyrus-sasl-gssapi.i686                      2.1.26-23.el7              base     
cyrus-sasl-gssapi.x86_64                    2.1.26-23.el7              base  #認證模塊   
cyrus-sasl-ldap.i686                        2.1.26-23.el7              base     
cyrus-sasl-ldap.x86_64                      2.1.26-23.el7              base  #認證模塊   
cyrus-sasl-lib.i686                         2.1.26-23.el7              base     
cyrus-sasl-md5.i686                         2.1.26-23.el7              base     
cyrus-sasl-md5.x86_64                       2.1.26-23.el7              base  #認證模塊   
cyrus-sasl-ntlm.i686                        2.1.26-23.el7              base     
cyrus-sasl-ntlm.x86_64                      2.1.26-23.el7              base  #認證模塊   
cyrus-sasl-plain.i686                       2.1.26-23.el7              base     
cyrus-sasl-plain.x86_64                     2.1.26-23.el7              base  #認證模塊   
cyrus-sasl-scram.i686                       2.1.26-23.el7              base     
cyrus-sasl-scram.x86_64                     2.1.26-23.el7              base  #認證模塊   
cyrus-sasl-sql.i686                         2.1.26-23.el7              base     
cyrus-sasl-sql.x86_64                       2.1.26-23.el7              base  #認證模塊,需要搭配courier中的courier-authlib  
python-saslwrapper.x86_64                   0.16-5.el7                 extras   
ruby-saslwrapper.x86_64                     0.16-5.el7                 extras   
saslwrapper.x86_64                          0.16-5.el7                 extras   
saslwrapper-devel.x86_64                    0.16-5.el7                 extras

MTA代表:sendmail(鼻祖,單體結構,需使用SUID所以不太安全,配置文件使用m4編寫,所以語法難懂)、qmail、postfix(模塊化設計,作者是IBM公司安全領域的專家,所以一開始就注入了安全的概念,跟sendmail相容,效率高)、exim、exchange(windows產品,需結合AD,圖形介面+很多功能結合在一起,像收、發郵件、共享日曆等等,所以很重量)。

MDA代表:procmail(sendmail整合的MDA工具)、maildrop(能夠抽取文本信息的特徵碼來定義怎麼實現垃圾郵件過濾,postfix本身就有整合MDA工具了,為本地用戶投遞和虛擬用戶投遞,但在一些非常專業或者大規模的環境當中我們很有可能為postfix專門提供maildrop來實現MDA)。

MRA代表:cyrus-imap、dovecot(功能強大、配置簡單)。

MUA代表:outlook express(windos產品,簡裝版)、outlook(windows產品,專業版)、foxmail、thunderbird、evolution、mutt(文本介面)、mail(文本介面)。

Webmail代表:openwebmail(台灣研發,使用perl研發)、squirrelmail(小松鼠,使用php研發)、extmail(中國研發)