搭建属于自己的邮件服务器(使用虚拟机演示实现局域网邮件发送)

前言:博主一直使用的是腾讯的企业邮箱,买个域名,备案,然后就可以接入腾讯企业邮箱了,拥有属于自己域名后缀的邮箱了,如果网站做的不错,在投简历的时候写上自己的专属邮箱,或许是个不错的加分项。腾讯企业邮箱也是允许个人接入的,可以分配50个邮箱地址,一般来说也是够用了,但是前段时间,添加邮箱的时候发现腾讯开始要求每个邮箱地址必须绑定不同的手机号码了。。。。算了,不出所料的话又是一个可以写进教科书的把用户养肥了再宰的典型案例,搞IT的,自己动手吧,不受人限制。

一、准备阶段

1.一台纯净的服务器
2.一个域名
若无上述条件则使用虚拟机搭建
1.CentOS7(IP:192.168.80.132)
2.Win7(IP:192.168.80.129)

二、开搞阶段

我这里没有多余的服务器了,所以就在本地用两台虚拟机搭建了一台邮件服务器。(一台Win7,一台CentOS7)因为本地的话还需要域名解析,所以需要先在CentOS上搭建DNS服务器。
1.关闭防火墙

systemctl stop firewalld #关闭防火墙
systemctl stop iptables #关闭防火墙
setenforce 0 #关闭selinux
systemctl disable firewalld #禁止开机自启动
systemctl disable iptables #禁止开机自启动

最好先这样设置,等安装完成以后再设置防火墙,避免麻烦
vi /etc/sysconfig/selinux
把这里的SELINUX值设置为disable
SELINUX=disable

2. 安装DNS服务器
安装DNS服务器主要作用就是为了本地域名解析服务,我们待会儿准备解析abc.com到本地。
yum install bind* -y

2.1 编辑named.conf配置文件
vi /etc/named.conf
把这里的IP改为你的本地IP,allow-query改为any,意思分别为监听本地IP的53端口和允许任何人访问。
搭建属于自己的邮件服务器(使用虚拟机演示实现局域网邮件发送)

养成好习惯,检查一下是否有语法错误
named-checkconf
没有任何提示则说明正确

2.2 编辑域名解析配置文件
vi /etc/named.rfc1912.zones
在末尾加上

#正向解析
zone "abc.com" IN {
        type master;
        file "abc.com.zone";
};
#反向解析
zone "80.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.80.zone";
};

我这里是想解析abc.com到本地,所以第一个写的就是abc.com,abc.com.zone则是文件名。反向解析需要注意,这里需要反着来写!我这里的真实IP为:192.168.80.132,但是写的时候请一定要按照这个反着的格式来写,并且不写子网的最后一个网段,192.168.80.zone同样是文件名,需要等下我们来写的。
保存退出
检查是否有语法错误:named-checkconf

2.3 编辑解析文件
文件目录为/var/named/先进入目录:cd /var/named/ 然后需要进行文件复制
cp -p named.localhost abc.com.zone
-p 表示复制过来文件权限不变
编辑正向解析配置文件
vi abc.com.zone
搭建属于自己的邮件服务器(使用虚拟机演示实现局域网邮件发送)
具体配置如下:

$TTL 1D
@       IN SOA  @ abc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns.abc.com.
ns      A       192.168.80.132
www     A       192.168.80.132
@       MX 10   mail.abc.com.
@       A       192.168.80.132
mail    A       192.168.80.132
@       TXT     v=spf1 include:abc.com -all

这里一定要注意格式,域名后缀的.不要忘了

编辑反向解析配置文件
vi 192.168.80.zone
搭建属于自己的邮件服务器(使用虚拟机演示实现局域网邮件发送)
具体配置如下:

$TTL 1D
@       IN SOA  abc.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      abc.com.
132     PTR     www.abc.com.
132     PTR     mail.abc.com.
132     PTR     abc.com.

这里的132是我CentOS本地IP的地址(IP:192.168.80.132)只需要写上最后一位的IP地址即可。

最后再执行一遍named-checkconf检查一下语法错误

systemctl start named  #启动DNS服务
systemctl enable named #开机自启动

设置服务器域名:vi /etc/resolv.conf
nameserver 改为自己的IP地址

2.4 验证一下
nslookup mail.abc.com
nalookup 192.168.80.132
搭建属于自己的邮件服务器(使用虚拟机演示实现局域网邮件发送)
正向解析反向解析都没问题,到此DNS服务器搭建完成。

3. 搭建邮件服务器
本来我是使用的POSTFix搭建,但是搭建了一天也没个名堂,最终在GitHub上找到了思路,一个开源项目:EwoMail,是一个基于Linux的企业邮箱服务器,支持Web界面、客户端等功能。并且支持权限管理、邮箱管理、邮箱域名管理等。我这里就直接用大佬们写好的了进行部署安装。
GitHub:https://github.com/gyxuehu/EwoMail
官网:http://www.ewomail.com
都有详细的安装过程,我这里仅以自己测试安装的过程再记录一下。

3.1 安装
一定要没有安装过Apache、MySQL、PHP的纯净环境~

yum -y install git
cd /root
git clone https://github.com/gyxuehu/EwoMail.git
cd /root/EwoMail/install
#需要输入一个邮箱域名,不需要前缀,列如下面的abc.com
sh ./start.sh abc.com #这里如果执行失败则使用 sh ./start.sh abc.com -f进行再次安装

域名解析刚才已经解析过了,不用再进行了,如果是部署在云服务器上的请注意跟随官方文档,我这里部署的是在局域网环境下进行邮件发送通信的。

3.2 端口配置
安装成功后,系统会开放以下的端口
默认开放的端口
端口都是TCP类型
8000,8010,8020,25,143,993,995,587,110,109,22,80,465
如果是使用的是云服务器,可能需要在控制面板的防火墙开放以上端口
必须打开的端口8000,8010,25,143
我们刚才已经彻底关闭防火墙了,则也不需要配置了
邮箱管理后台:http://IP:8010 (默认账号admin,密码ewomail123)
web邮件系统:http://IP:8000
访问地址需要将IP更换为你的IP地址,我刚才直接配置了DNS解析,也可以使用http://mail.abc.com:8010访问
这里便是登录后台,里面不需要修改域名等信息了,记得修改密码,添加用户即可。

因为我这里是虚拟机搭建的仅限于局域网通信发送邮件,所以如果你也是则需要将hosts文件改一下,执行命令:vim /etc/hosts,在其最下方添加如下

127.0.0.1   mail.abc.com abc.com smtp.abc.com imap.abc.com

3.3 局域网内发送邮件
这里我们现需要了解到CentOS的网关地址使用命令:netstat -rn,Gateway便是网关
接下来去修改Win7的DNS以及网关即可
主要需要修改的就是IP地址、网关地址和DNS地址,IP地址只要和CentOS的不冲突随便写一个就行,DNS地址则是写我们的CentOS的IP地址。
搭建属于自己的邮件服务器(使用虚拟机演示实现局域网邮件发送)

然后在管理端添加两个账号就可以分别在CentOS和Win7两台不同的电脑上进行邮件发送了,并且两端都是可以正常上网的。

三、注意事项

如果一切按照步骤走的都确保没错,试试重启吧,重启之后有可能nameserver会变,则需要重新再设置一下改为自己的IP。命令:vi /etc/resolv.conf
注意要点:防火墙、解析文件、DNS服务器

参考文档:

EwoMail 邮件服务器安装文档:http://doc.ewomail.com/docs/ewomail/jianjie
Linux运维高级篇—CentOS 7下Postfix邮件服务器搭建:https://blog.51cto.com/12227558/2074095
CentOS 7.3 搭建DNS服务器:https://blog.51cto.com/13525470/2054121
GitHub-EwoMail:https://github.com/gyxuehu/EwoMail
EwoMail官网:http://www.ewomail.com

发表评论

电子邮件地址不会被公开。必填项已用 * 标注