提醒:本文最后更新于 2871 天前,文中所描述的信息可能已发生改变,请仔细核实。
发现网上关于Dovecot2的配置资料相对较少,特别是直接采用用户名密码文件来进行安全认证,也是很少。
首先要说的是。。。Dovecot 不支持uid或gid取值为0的用户登录,也就是说不支持root登录,而且默认uid取值需要>=500。
可以通过查看Dovecot Wiki来了解详细,uid可以改变配置,但必须大于0,详细的我就不多说了。
Centos直接yum安装Dovecot。接着编辑Dovecot原始配置文件,替换为下文:
disable_plaintext_auth = no
listen = *,::
protocols = imap
ssl = no
passdb {
driver = passwd-file
args = username_format=%n /etc/dovecot/passwd
}
userdb {
driver = passwd-file
args = username_format=%n /etc/dovecot/passwd
}
mail_location = maildir:~/Maildir
接着创建几个用户
useradd user1
useradd user2
通过/etc/passwd可以看到这两个用户的pid和gid(一致的)。
新建/etc/dovecot/passwd文件,内容类似如下:
user1:{plain}password:511:511::/home/user1
user2:{plain}password:512:512::/home/user2
其中511和512就是刚才创建的用户id,password为密码。
设置Dovecot自启动,启动Dovecot,重启Postfix即可。
chkconfig dovecot on
service dovecot start
service postfix restart
可以通过mutt测试一下,都可。
如此,IMAP配置完了,如果需要pop3,可以修改protocols为imap,pop3。
需要加密,就改为protocols = imap,pop3,imaps,pop3s,并且添加证书文件,此处不表。
正常来说,邮件系统架设,应该以Postfix、Dovecot、Mysql、Postfixadmin、Roundcube为构架,外带的考虑SASL、DKIM、DomainKeys等插件。
基于之前《进阶的Postfix小结》和上面的刚所说的Dovecot部署,已经有了Postfix、SASL、DKIM、STARTTLS、Dovecot、SPF这些。
PostfixAdmin个人认为,适合于Group或Teams的需要。一般博客主可能是不需要的,除非你的域名很牛叉或者说特殊含义,又愿意分享给大伙们注册,那么有PostfixAdmin来管理,实在是很舒服。这个今天不在讨论范围。
Roundcube是个传统老牌的WebMail,其UI很像我们现在用的程序。WebMail系统简单理解,就是一个类似B/S架构的邮件客户端。
今天我给大家推荐的组合是Postfix+Dovecot+Rainloop。
因为对于现在的我们,起码Roundcube在UI不够时尚,操作过于繁琐等等。所以今天给大家推荐的是RainLoop来作为我们WebMail。诶,我就一小白鼠。
RainLoop是一个非常轻量的WebMail系统,速度很快,结构也很简单(单一入口)。采用了最新的Bootstrap框架,使用了文本型SQLite数据库,非常轻量级,所以对系统要求也不高。同时它也支持Mysql和PostgreSQL,如果你的邮箱比较多的话,可以采用这种制式来存储。
除去性能优越,对于终端用户来说,它真的简约漂亮!反正我是挺喜欢的。
安装也很简单,直接从官网wget或git到本地,配置好web访问就行!
通过你的访问地址,后面加上?admin,便可进入后台管理界面。
初始用户名:admin,密码:12345。可以通过后台修改。
你可以简单的查看,并设置你认为需要的。
接着让我们点击Domain菜单,这里只要添加好IMAP&SMTP规则便可以使用,默认有Gmail、QQ、Outlook、Yahoo等。
通过这些,我们可以在邮件系统直接登录到我们的Gmail邮箱、QQ邮箱等,当然前提是这些邮箱已允许IMAP和SMTP连接。
这样你就可以通过RainLoop来管理你的众多邮箱。
说了这么多,这些都不是我们的目的。。。
我们的目的是如何将我们目前所处VPS的域名也添加进去呢?
操作很简单,通过我们之前的配置。我们在Domain添加一个新的配置。
配置名任意。IMAP和SMTP地址都填写为127.0.0.1。不需要加密。去除SMTP的Use authentication。添加即可,当然啦,你可以Test Connection测试一下。正常的话,都是绿色。去除Auth的原因,是因为是本地的SMTP,不需要那么麻烦。
如此便好。相信RainLoop的使用对于你来说,是那么的简单上手,如果你有更深入的需求,可以上其官网查看doc,已了解更详细,我对其了解暂时到此就是一个段落。
如果想让RainLoop支持收发送至root的邮件,需要设置别名,因为Dovecot是不允许root的。在前边,我们已经为Dovecot而创建的user1、user2,假设要使user1收到发送到root的邮件,只需编辑/etc/aliases,添加
root: user1
那么别人发送到root的邮件就会自动转发到user1。当然别忘了执行
postalias hash:/etc/aliases
service postfix restart
以便生效。
不得不说,RainLoop个人感觉还是非常好的,它的简洁美观给我留下了很深刻的印象~我非常喜欢。
至于问我为什么不选择加密,而且Dovecot与Postfix之间的认证为什么这么简单。是因为我的IMAP端口(143)仅对本地使用,外部是无法连接的,所以不存在所谓安全问题。一切就是这么简单。
目前博客所在VPS,仅开放SSH、HTTP、SMTP等几个对外端口,并且使用了Fail2ban监听。一定程度避免了各种可能的安全问题,所以很多东西都比较放开手脚。
已馊
@choco: 好的,谢谢
这么晚还没休息啊!
博客的话,有邮件通知基本就够用了
@空空裤兜: 没错