Sendmail和Postfix只是一个MTA,若是想让客户端从Sendmail服务器上收取邮件,还须要其余的软件来支持。Red Hat Enterprise Linux 5中Dovecot软件包提供了POP3和IMAP支持。 html
电子邮件系统的组成
5部分:MTA,MSA,MUA,MDA,MAA
1, 邮件用户代理(Mail User Agent,MUA)
MUA是一个邮件系统的客户端程序,它提供了阅读,发送和接受电子邮件的用户接口。
最经常使用的MUA有:linux中的mail,elm,pine等。Windows的outlook ,foxmail等
2, 邮件代理器(Mail Transfer Agent,MTA)
MTA负责邮件的存储和转发(store and forward)。MTA监视用户代理的请求,根据电子邮件的目标地址找出对应的邮件服务器,将信件在服务器之间传输而且将接受到的邮件进行缓冲。
在linux下的MTA程序有:sendmail,qmail等,
3, 邮件提交代理(Mail Submmission Agent,MSA)
MSA负责消息有MTA发送以前必须完成的全部准备工做和错误检测,MSA就像在MUA和MTA之间插入了一个头脑清醒的检测员对全部的主机名,从MUA获得的信息头等信息进行检测。
4, 邮件投递代理(Mail Ddlivery Agent,MDA)
MDA从MTA接收邮件并进行适当的本地投递,能够投递个一个本地用户,一个邮件列表,一个文件或是一个程序。
Linux下经常使用的MDA是mail.local,smrsh和procmail(www.procmail.org)
5, 邮件访问代理(Mail Access Agent,MAA)
MAA用于将用户链接到系统邮件库,使用POP或IMAP协议收取邮件。
Linux下经常使用的MAA有UW-IMAP,Cyrus-IMAP,COURIER-IMAP等
先经过一个典型的从发送邮件到接收邮件的过程,来观察Dovecot起到了什么做用。
开始,某人用邮件用户代理(MUA)建立了一封电子邮件,邮件建立后被送到了该用户的邮件传输代理(MTA)——传送过程使用的是SMTP协议。而后MTA检查该邮件的收信人,向DNS服务器查询接收方MTA对应的域名,而后将邮件发送至接收方MTA——使用的仍然是SMTP协议。这时,邮件已经从远程的用户工做站发送到了他的ISP的邮件服务器,而且转发到了您的域中。
然而,邮件在传输过程当中颇有可能被转移到另一个MTA,但最终会有某个MTA接管这封邮件,而且负责投递。这时,MTA会将邮件传递给某个邮件投递代理(MDA),MDA的主要做用就是将邮件保存到本地磁盘,有些MDA也能够完成其余功能,好比邮件过滤或将邮件直接投递到子文件夹。须要注意的是,完成将邮件存放在服务器上这个功能的是MDA。
最后,查收邮件。运行MUA,您可使用IMAP协议或POP3协议来向邮件服务器查询您的邮件。邮件服务器会先确认您的身份,而后从邮件存储区检索邮件列表,并将列表返回给MUA。如今您就能够阅读邮件了。如今咱们就能够解释第一段了:将邮件投递给您的邮件服务器就是Dovecot。
做为IMAP和POP3服务器,Dovecot为邮件用户代理(MUA)提供了一种访问服务器上存储的邮件的方法。可是,Dovecot并不负责从其余邮件服务器接收邮件。Dovecot只是将已经存储在邮件服务器上的邮件经过MUA显示出来。
(1) MUA (Mail User Agent)
从MTA获取邮件和经过MTA发送邮件的工具,它通常支持smtp和pop协议。如:outlook,foxmail
(2) MTA (Mail Transport Agent)
装有MTA的服务器就能够称之为邮件服务器。MTA的主要功能有三个:
1) 经过pop协议与MUA通讯,把MTA邮件箱中的邮件传递给MUA(也就是MUA在MTA上取邮件的过程);[我的感受这里把MAA合并MTA了]
2) 经过smtp协议,接收用户经过MUA起草的新邮件,并准备发送邮件;
3) 经过smtp协议,在网络上的不一样MTA间,选择合适路由,并最终将邮件送达目标邮件服务器(也就是邮件在源服务器到目标服务器的
传递过程)。
(3) MDA (Mail Delivery Agent)
能够看作是MTA的一个子模块,实现邮件传递、分析、过滤、自动回复等功能