CentOS7虚拟账号邮件服务器构建方法

 

生命在于折腾,最近由于工作需要,自己成功实践了Postfix+Dovecot+MariaDB+CentOS7 实现了包含虚拟账号的邮件服务器的构建。最终设置是支持  SMTP+SMTPs+IMAPs ,支持邮箱转发,以后可以在不同的地方使用不同的电子邮件地址,那样就可以知道谁泄露了自己电子邮箱了。

 

 

参考文章

这里我并不打算叙述主要的安装过程,因为我的服务器上面已经装好了Dovecot Postfix 还有Mariadb了,所以对于我来说,最重要的就是设置了。我主要参考了Linode的一篇文章

 

Email with Postfix, Dovecot and MariaDB on CentOS 7
https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mariadb-on-centos-7

 

里面叙述得非常详细。这里主要记录文章的坑。

 

还有可能需要用到端口地址的列表

http://zh.wikipedia.org/wiki/TCP/UDP端口列表

 

 

 

安装Postfix

值得注意的是CentOS当前版本的Postfix不能支持MariaDB所以要使用centosplus的repo。与此同时,我们应当禁用postfix使用CentOS Base进行更新。我安装完成后postfix的版本是2.10.1 。Postfix个个版本在设置方便区别比较大,因此看文档的时候应该知道自己使用的软件的版本号,并注意操作上的区别。

 

 

 

 

在数据库中设置虚拟域名及邮箱用户

因为我已经装好数据库了,所以就只需要新建用户并且创建表格就行了,注意替换掉 mail_admin_password还有mail_admin

 

 

 

 

 

设置Postfix并连接到MariaDB

由于我并没有让数据库监听127.0.0.1,我希望postfix通过unix直接连接mariaDB,因此这里跟Linode的教程有点区别,采用localhost。似乎不能够直接在这里放文件名,因为postfix运行在一个chroot的环境下(如有错误欢迎指出)。另外注意替换掉数据库的用户名和密码。

 

 

 

设置权限创建用户,如果5000已经被占用了,就要改其他(发现Linode的这篇文章对于权限的管理非常到位)

 

 

往postfix里面添加设置。这里Linode的文章多加了一些东西,会导致出现这样的错误,因为当前版本的postfix已经取消了这些设置了,因此将其删除

 

 

另外smtpd_tls_cert_file和smtpd_tls_key_file 在等号右边不应该有小于号(<)。邮件这样重要的,没有UI不能够直接通过界面判断钓鱼的,还是买个SSL吧,可以防止监听很多客户端都自动支持。

 

在postfix的inet_interfacesinet_protocols设置监听的IP地址和ipv4/ipv6

这个是进程管理还有端口吧,开启与dovecot的控制还有smtps

 

 

 

设置Dovecot并连接到MariaDB

dovecot和postfix 都可以通过命令获取一份新的配置,所以不用担心。我使用的是Dovecot v2.2.10,Dovecot各个版本的区别也是很大的,上网Google 问题的时候也要注意一下的说。同样,替换掉IP地址、SSL证书、邮箱管理员地址、用户的权限。

 

 

 

如果没有chroot 可以直接访问sock,然后调整权限

 

调整与测试

完成以上步骤的时候相信你已经restart了这些service很多次了,主要要留意的是 /var/log/message 和 /var/log/maillog

可以使用的工具有 telnet

 

 

还有 openssl当发现握手失败的时候可以尝试这个(当时没有任何响应,甚至没有拒绝消息,修好了防火墙,还是不行,原来是证书权限不对,读不了然后握手失败,message 里面也没有log)

 

poi~

 

 

 

 

 

 

这篇博文发表在 服务器开发 目录下,标签为 , , , , ,
版权所有,请勿转载。如需引用,请使用链接:https://note.masterchan.me/?p=672
 

您的邮箱地址不会被公开,评论使用Gravatar头像。
Your email address will not be published. This blog is using Gravatar.

正在提交评论...
正在为您准备评论控件