zoukankan      html  css  js  c++  java
  • 基础邮件原理(MUA,MTA,MDA)


     

    电子邮件基本概念:

    MUA(Mail User Agent)接收邮件所使用的邮件客户端,使用IMAP或POP3协议与服务器通信;

    MTA(Mail Transfer Agent) 通过SMTP协议发送、转发邮件;

    MDA(Mail Deliver Agent)将MTA接收到的邮件保存到磁盘或指定地方,通常会进行垃圾邮件及病毒扫描;

    MRA(Mail Receive Agent)负责实现IMAP与POP3协议,与MUA进行交互;

    SMTP(Simple Mail Transfer Protocol)传输发送邮件所使用的标准协议;

    IMAP(Internet Message Access Protocol)接收邮件使用的标准协议之一;

    POP3(Post Office Protocol 3) 接收邮件使用的标准协议之一。

     

    邮件服务器基本都有MTA,MDA,MRA 组成。

     

    常用的MUA有:outlook、thunderbird、Mac Mail、mutt;

    常用的MTA服务有:sendmail、postfix;

    常用的MDA有:procmail、dropmail;

    常用的MRA有:dovecot。

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    架构图中还有个DNS (域名解析服务),架构中存在DNS原因是,邮件格式,通常情况下有两种:

    1、abc@xyz.com(用户名@域名),2abc@mail.xyz.com(用户名@主机名)而1是最创建的格式,2是最为确切的位置。域并不代表一个特定的主机,所以还不知道邮件服务器的主机名是那个,而在dns中可以记录一个域的邮件服务器地址(称为mx记录)。所以在发送邮件时候还要通过dns去查找该域下的邮件服务器的地址。

    我们还是先跟随一个典型的从发送邮件到接收邮件的过程,借此来观察Dovecot起到了什么作用。

       开始,某个人用邮件用户代理(MUA)创建了一封电子邮件,典型的MUA包括Mozilla Thunderbird和Microsoft Outlook Express。无论是用哪种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显示出来。
       IMAP和POP3是用于连接MUA与邮件存储服务器的两种常见的协议。POP3通常用于网络连接较慢的用户连接至邮件服务器。POP3的一条基本原则是,MUA从服务器上下载邮件并保存在本地磁盘上,然后将服务器上的邮件删除。IMAP通常用于局域网(LAN)或网络连接较快的用户,使用 IMAP的目的就是只在每次有未读消息时才连接服务器(而不是使用类似于MUA的缓存)。Dovecot为使用IMAP协议的连接做了很多优化,这样 IMAP客户端在连接Dovecot服务器时会表现出更好的性能。
    Dovecot并不关心邮件的接收、投递和存储,这些功能都是由MTA(比如Postfix)提供的。MTA决定邮件是如何存放的,以及存放在哪里,Dovecot必须根据MTA的配置来进行相应的配置。而且很明显的是,在安装Dovecot之前,必须保证MTA正常工作。
       在*NIX环境下主要有两种邮件存储格式——mbox和Maildir。Mbox将大量的邮件——有时可以达到几千封——存放在一个文件中。 Maildir则是将每封邮件都存放在单独的文件当中。可能由于文件系统较老等原因,您会选择使用mbox,但对于大多数的全新安装,Maildir提供了更强壮的存储实现和文件之间的相对平等。当然,还有一些其他的存储格式,比如dbmail,并不被Dovecot所支持(至少现在不支持)。
       还需要重复一遍的是:Dovecot并不负责邮件的投递或存储,这两方面出现了问题应该考虑MTA或MDA是否正常工作。如果没有,知道该怎么办了吧?
    Dovecot的主要配置包括邮件存储类型,邮件存储位置,用户列表和密码列表。Dovecot以支持多种用户名/密码格式,包括*NIX密码、shadow、PAM、LDAP、SQL和vpopmail。通常,您应该选择一种邮件服务全局都可以接受的用户名/密码格式,其中包括您的MTA、 MDA和Dovecot。

  • 相关阅读:
    There is an overlap in the region chain修复
    There is an overlap in the region chain
    region xx not deployed on any region server
    python 中的re模块,正则表达式
    TCP粘包问题解析与解决
    yield from
    Git push提交时报错Permission denied(publickey)...Please make sure you have the correct access rights and the repository exists.
    mysql 中Varchar 与char的区别
    Mysql 字符集及排序规则
    请实现一个装饰器,限制该函数被调用的频率,如10秒一次
  • 原文地址:https://www.cnblogs.com/demonxian3/p/6281839.html
Copyright © 2011-2022 走看看