邮件服务器工作原理

Sendmail和Postfix只是一个MTA,如果想让客户端从Sendmail服务器上收取邮件,还需要其他的软件来支持。Red Hat Enterprise Linux 5中Dovecot软件包提供了POP3和IMAP支持。

电子邮件系统的组成
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的一个子模块,实现邮件传递、分析、过滤、自动回复等功能

你可能感兴趣的:(mda,MUA,MTA,MSA,MAA)