我们还是先跟随一个典型的从发送邮件到接收邮件的过程,借此来观察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。
Sendmail:
只需要改动三个配置文件:sendmail.cf、local-host-names和access
在介绍配置步骤之前,先来解释一下这三个配置文件是干嘛用的
1、sendmail.cf是sendmail的核心配置文件,位于/etc/mail/sendmai.cf,里面有大量的宏语言,一般直接编辑的难度很大,所以我们需要编辑另外一个配置文件sendmail.mc,然后使用m4命令生成sendmail.cf文件
2、local-host-names用来收发邮件的主机别名举个例子吧:假设邮件有两个主机名称,分别是xianfeng.com和xianfeng.com.cn,而只想收到发给xianfeng.com的信件,发给xianfeng.com.cn的邮件则拒收,那么需要添加xianfeng.com到/etc/mail/local-host-names文件中,即可实现
3、accesss可以定义邮件对那些范围的邮件入行中继,不在此列表允许的主机则不中继实现内网客户端发邮件权限和范围的控制,定义哪些客户端可以发邮件,哪些不可以修改完access后,需要使用makemap hash access >access.db命令,生成到access.db文件中
下面就开始详细的配置吧,其实蛮简单的
(一)、配置DNSxianfeng.com的区域文件,如图所示,其中的MX记录很关键,关于dns的配置有不明白的,请参照前面的Linux文章
下图是设置区域
类型为/sbin/nologin,即不能登录到Linux系统,只能作为收发邮件的账户
(五)、重新启动sendmail
(六)、安装收邮件,安装dovecot程序包,对该程序的配置文件入行设置,然后启动dovecot
安装程序包,下图是安装的方式,因为我之前有安装过该程序包,所以提示already installed
对dovecot配置文件入行如下的设置,使用vi /etc/dovecot.conf,然后在protocols行添加pop3 pop3s,设置好的如图所示
(七)、客户端验证,使用OE客户端入行验证,企业内部的用户可以互相发送邮件
OE客户端的设置可参照我前面的windows技术文章,需要注重的地方是:设置用户名和密码(mail1/mail2/mail3)、设置收发为10.1.1.1,使用协议是pop3
对sendmail感兴趣的朋友严格按照我上面的操作步骤去实施,是肯定可以成功的
很抱歉,因为您在网易相册发布了违规信息,账号被屏蔽被屏蔽期间他人无法访问您的相册 去,了解如何重新恢复