首页 > 代码库 > 邮件服务系列之三实现postfix+dovecot+sasl

邮件服务系列之三实现postfix+dovecot+sasl

MRA :cyrus-imap,dovecot 

dovecot 依赖MySQL客户端

pop3协议监听tcp110

imap4协议监听tcp143端口

以明文方式工作需结合sasl来实现邮件传输加密


dovecot支持四种协议:

pop3 imap4 pop3s imaps 


配置文件位于:/etc/dovecot.conf

带有sasl认证能力

支持两种邮箱格式:

mbox一个文件存储所有邮件

maildir:一个文件存储一封邮件,所有邮件存储在一个目录中



安装:

yum install dovecot

完成安装(可以看到dovecot的安装会默认安装一个MySQL来用于支持,但是这个安装的MySQL并不会影响我们已经安装过的可以使用的MySQL)

技术分享

配置文件位于:/etc/dovecot.conf

打开配置文件

找到

#protocols=imap imaps pop3 pop3s

启用,修改为

protocols=imap pop3

保存退出

启动服务 service dovecot start


查看端口:(如下所示,实现了对于dovecot 端口监听)

技术分享












编辑一封邮件发送给远程主机

1.发送邮件

技术分享

2.在日志中查看发送状态,已经传递到mailbox

技术分享

3.在收件方打开收件箱,可以看到收到的邮件,邮件发送成功

技术分享




到此为止,我们已经实现了邮件的简单的收发功能,但是还没有实现认证的功能,还不安全


下一步使用postfix 结合SASL 实现用户认证

  1. 启用sasl,启动sasl服务

    在红帽系统中sasl的启动服务文件位于/etc/init.d/saslauthd

    配置文件:/etc/sysconfig/saslauthd



saslauthd -v  显示当前主机服务器saslauthd 支持的认证模块

将配置文件中的MECH改为shadow模式

技术分享

接下来启动sasl服务,默认为关闭,并且将sasl设置为开机自动启动

技术分享

测试能否实现用户认证

技术分享

sasl服务已经开始工作


postconf -a查看是否支持sasl服务

确保之中出现cyrus

要支持sasl的功能

要在postfix的主配置文件/etc/postfix/main.cf中添加以下内容来支持sasl的功能

技术分享


并且编辑/usr/lib/sasl2/smtpd.conf

添加如下内容:

pwcheck_method: saslauthd

meth_list :PLAIN LOGIN



postfix的默认配置如下所示

connection :smtpd_client_restrictions =

helo            :smtpd_helo_restrictions =

mail from   :smtpd_sender_restrictions =

rcpt to        :smtpd_recipient_restrictions =

data           :smtpd_data_restrictions =


查找表:

访问控制文件

/etc/postfix/access  --转换为哈希格式:/etc/postfix/access.db   转换为二进制


例如当一个用户想要访问时,

可以设置smtpd_client_restrictions =check_client_access hash:/etc/postfix/access来检查该用户是否可以还是不可以访问


实例 


技术分享


限定收件人发件人

技术分享


自此完成了可以实现认证功能的邮件服务系统的安装和配置,接下来会介绍有关虚拟域以及虚拟用户的相关知识。



欲知后事如何,请看下回分解。


本文出自 “牛顿也吃苹果” 博客,请务必保留此出处http://mi55u.blog.51cto.com/11619321/1914315

邮件服务系列之三实现postfix+dovecot+sasl