linux搭建邮件服务器

环境:

  系统:centos7.6

  内网ip:172.16.0.3

---------------------------------------------初始配置-------------------------------------------------------------

1.修改主机名

将主机名更改为邮件服务器域名mail.test.com

vi /etc/hostname

2.关闭防火墙并禁止开机启动

systemctl stop firewalld
systemctl disable firewalld

3.关闭selinux,将未注释的SELINUX行的值改为disabled

vi /etc/sysconfig/selinux

---------------------------------------------搭建DNS环境域名解析,用于解析postfix地址-------------------------------------------------------------

4.安装DNS服务器

yum install -y bind 

5.修改配置文件

修改DNS主配置文件

vi /etc/named.conf 
listen-on port 53 { 172.16.0.3; };

allow-query     { any; }; 

修改子配置文件

vi /etc/named.rfc1912.zones

在最后添加一个正向和一个反向解析区域

zone "test.com" IN {
        type master;
        file "test.com.zone";
};

zone "0.16.172.in-addr.arpa" {
        type master;
        file "test.com.local";
};

进入DNS服务器区域配置文件目录,复制模板区域配置文件为指定区域配置文件。注:一定要保留源文件权限,如果未保留,须将属组改为named。 

cd /var/named/ 
cp -p named.localhost test.com.zone
cp -p named.localhost test.com.local 

编辑正向区域配置文件,修改并添加以下行

vi test.com.zone
        NS      @
        A       172.16.0.3
        MX 10   mail.test.com
mail    A       172.16.0.3
        AAAA    ::1

编辑反向区域配置文件,修改并添加以下行

vi test.com.local 
        NS      @
        A       172.16.0.3
        MX 10   mail.test.com
        3     PTR     mail.test.com
        AAAA    ::1

重新启动DNS域名解析服务器

systemctl restart named

安装nslookup命令测试dns能否解析成功

yum install -y bind-utils

给本机的DNS增加一个指向自己的dns服务器

vi /etc/resolv.conf 
nameserver 172.16.0.3

解析邮件服务器地址,显示如下则表示成功

nslookup mail.test.com
Server:		183.60.83.19
Address:	183.60.83.19#53

Non-authoritative answer:
Name:	mail.test.com
Address: 69.172.200.109

---------------------------------------------安装postfix服务器并进行配置------------------------------------------------------------- 

检查系统是否已经安装了postfix服务器

rpm -q postfix

如果没有安装,安装了就跳过

yum install postfix -y

编辑postfix的配置文件,查找并修改对应配置项

vi /etc/postfix/main.cf

主要需要修改一下这些配置项

myhostname = mail.test.com                                                      //本机主机名
mydomain = test.com                                                                 //服务器域名
myorigin = $mydomain                                                               //初始域名
inet_interfaces = all                                                                   //监听接口
inet_protocols = all                                                                   //监听网络版本,可以不改
mydestination = $myhostname, $mydomain                           //目标域
home_mailbox = Maildir/                                                         //邮件目录,在用户家目录下

检查配置文件是否有语法错误

postfix check

查看postfix非默认配置

postconf -n

重新启动postfix服务器

systemctl restart postfix

---------------------------------------------邮件服务器简单发信测试-------------------------------------------------------------

添加邮件账号组

groupadd mailusers

添加邮箱账号

useradd -g mailusers -s /sbin/nologin jack
passwd jack
useradd -g mailusers -s /sbin/nologin tom
passwd tom 

安装远程登录插件,用于登录25端口测试

yum install -y telnet 

远程登录25端口,如报错连接不上,重启postfix

telnet mail.test.com 25

如果输出以下内容表示登录成功

Trying ::1...
Connected to mail.test.com.
Escape character is '^]'.
220 mail.test.com ESMTP Postfix

输入以下内容用于测试

[root@mail ~]# telnet mail.test.com 25
Trying ::1...
Connected to mail.test.com.
Escape character is '^]'.
220 mail.test.com ESMTP Postfix
helo mail.test.com
250 mail.test.com
mail from:jack@test.com
250 2.1.0 Ok
rcpt to:tom@test.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
i am jack!!
.
250 2.0.0 Ok: queued as A64EF604C7
quit
221 2.0.0 Bye
Connection closed by foreign host.

以上内容解析

helo mail.aa.com                           //声明本机的主机名

mail from:jack@aa.com                     //声明发件人地址

rcpt to:tom@aa.com                      //声明收件人地址

data                                  //写正文

i am jack!!

.                                   //以.结尾

quit                                 // 退出

查看tom接收的邮件目录下的邮件

ls /home/tom/Maildir/new/ 

查看tom接收的邮件内容

cat /home/tom/Maildir/new/1586512307.Vfd01I101059M375553.mail.test.com

这个只能超级管理员查看接收的邮件内容

  

  

 

posted @ 2020-04-10 17:57  NAVYSUMMER  阅读(2652)  评论(0编辑  收藏  举报
交流群 编程书籍