centos7.4搭建简单的邮件服务器

1、配置防火墙(关闭防火墙或者添加端口)

1.1关闭防火墙:systemctl stop firewalld.service

或者

1.2添加信任端口(25/110/143)

[root@localhost ~]# firewall-cmd --add-port=25/tcp --permanent
success
[root@localhost ~]# firewall-cmd --add-port=110/tcp --permanent
success
[root@localhost ~]# firewall-cmd --add-port=143/tcp --permanent
success

2、修改hostname为邮件服务器那样的名字(非必要)

2.1、需要和/etc/postfix/main.cf文件的myhostname参数相同即可

2.2、修改hostname:hostnamectl set-hostname mail.test.com

3、搭建DNS环境域名解析,用于解析postfix地址(非必要)

当全部配置完成后,在利用telnet测试时,出现非配置的ip时需要搭建DNS环境域名解析

//-------------------------------------------------------------------------------------------------------------//

[root@mail ~]# yum install -y bind                   //安装DNS服务器

[root@mail ~]# vim /etc/named.conf                 //修改DNS主配置文件

listen-on port 53 { 92.168.xxx.zzz; };

allow-query     { any; };                     //修改这两行的内容

或者屏蔽掉

//-----------------------------------------------------------------------------------------------------------//

[root@mail ~]# vim /etc/named.rfc1912.zones       //修改子配置文件

zone "test.com" IN {

        type master;

        file "test.com.zone";

};

//注意:192.168.xxx.zzz的ip地址,注意配置区别

zone "xxx.168.192.in-addr.arpa" {   

        type master;

        file "test.com.local";

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

//-----------------------------------------------------------------------------------------------------------//

[root@mail ~]# cd /var/named/                //进入DNS服务器区域配置文件目录

[root@mail named]# cp -p named.localhost test.com.zone

[root@mail named]# cp -p named.localhost test.com.local     //复制模板区域配置文件为指定区域配置文件。注:一定要保留源文件权限,如果未保留,须将属组改为named。 

[root@mail named]# vim test.com.zone            //编辑正向区域配置文件,修改并添加以下行

          NS      @

          A       192.168.xxx.zzz

mail    A       192.168.xxx.zzz

          MX 10   mail.test.com

一定得注意格式

[root@mail named]# vim test.com.local         //编辑反向区域配置文件,修改并添加以下行

 @       IN SOA  test.com rname.invalid. (

         NS      @

          A       192.168.xxx.zzz

         MX 10   mail.test.com

zzz    PTR     mail.test.com

//-----------------------------------------------------------------------------------------------------------//

[root@mail named]# systemctl start named     //启动DNS域名解析服务器

[root@mail named]# systemctl enable named.service //开机启动

[root@mail named]# yum install -y bind-utils    //安装nslookup命令测试dns能否解析成功

[root@mail named]# vim /etc/resolv.conf        //给本机的DNS指向自己的dns服务器

nameserver 192.168.xxx.zzz

[root@mail named]# nslookup mail.test.com      //解析邮件服务器地址,显示如下则表示成功

Server:         192.168.xxx.zzz

Address:        1192.168.xxx.zzz#53

Name:   mail.test.com

Address: 192.168.xxx.zzz

4、安装postfix服务器并进行配置

yum install postfix(一般系统都预装好了)

[root@mail named]# vim /etc/postfix/main.cf      //编辑postfix的配置文件,查找并修改对应配置项

#大约在75行,postfix主机名,修改成你的域名 此项需要添加A记录并指向postfix所在主机公网IP
myhostname = mail.test.com                      //本机主机名

#大约在83行,后面为主机域名
mydomain = test.com                             //服务器域名

#大约在100行,设置postfix邮箱的域名后缀为$mydomain
myorigin = $mydomain

#大约在117行
#指定postfix系统监听的网络接口
#若注释或填入公网ip  服务器的25端口将对公网开放
#默认值为all 即监听所有网络接口
#此项指定localhost后 本机postfix就只能发邮件不能接收邮件
inet_interfaces = all

#大约在120行,指定网络协议
inet_protocols = ipv4

#大约在165行
#指定postfix接收邮件时收件人的域名,换句话说,也就是你的postfix系统要接收什么样的邮件。
#此项配置中$myhostname表示postfix接受@$myhostname为后缀的邮箱的邮件 逗号分割支持指多项
#此项默认值使用myhostname
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain      //目标域

#大约在266行
#指定你所在的网络的网络地址
#这里我填的依次是公网IP、内网IP、本地IP
#请依据实际情况修改
mynetworks = 192.168.xxx.xxx, 127.0.0.1

#大约在571行
#指定MUA通过smtp连接postfix时返回的header头信息
#原始配置附带有postfix版本号 去掉即可,此项酌情处理
smtpd_banner = $myhostname ESMTP

#大约在414行
home_mailbox = Maildir/                         //邮件目录,在用户家目录下

#SMTP Config  ,将下面的内容添加到文件尾部即可
# 规定邮件最大尺寸为10M
message_size_limit = 10485760
# 规定收件箱最大容量为1G
mailbox_size_limit = 1073741824
# SMTP认证
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

//
[root@mail named]# postfix check                //检查配置文件是否有语法错误
[root@mail named]# systemctl start postfix      //启动postfix服务器
[root@mail named]# systemctl enable postfix     //添加到系统自启
//能看到postfix的日志
systemctl status postfix

5、修改MTA(默认邮件传输代理)

[root@mail named]#alternatives --config mta
[root@mail named]#1
[root@mail named]#alternatives --display mta
mta - status is manual.
若看到“mta - status is manual.”,则设置成功

6、安装并配置dovecot

yum install dovecot //安装dovecot

//配置dovecot
1.编辑文件dovecot.conf
vim /etc/dovecot/dovecot.conf
更改内容:
# 26行: 如果不使用IPv6,请修改为*
listen = *
2.编辑文件10-auth.conf
vim /etc/dovecot/conf.d/10-auth.conf
更改内容:
# 9行: 取消注释并修改 disable_plaintext_auth = no
# 97行: 添加 auth_mechanisms = plain login
3.编辑文件10-mail.conf
vim /etc/dovecot/conf.d/10-mail.conf
更改内容(设置邮件存放地址,~代表用户的根目录,每个用户都会存在一个此目录):
# 30行: 取消注释并添加 mail_location = maildir:~/Maildir
4.编辑文件10-master.conf
vim /etc/dovecot/conf.d/10-master.conf
更改内容:
# 97-99行: 取消注释并添加 # Postfix smtp验证
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
5.注意:如果我们没有使用ssl的话需要进行下面的操作。使用了则不需要。

编辑文件10-ssl.conf
vim /etc/dovecot/conf.d/10-ssl.conf 
更改内容
# 8行: 将ssl的值修改为 ssl = no
6.启动dovecot并添加到开机自启。
systemctl restart dovecot
systemctl enable dovecot

5. 收发邮件测试

5.1创建用户

[root@mail named]# groupadd mailusers          //添加邮件账号组
//创建jerry
[root@mail named]# useradd -g mailusers -s /sbin/nologin jerry
[root@mail named]# passwd jerry                //修改密码
//创建tom
[root@mail named]# useradd -g mailusers -s /sbin/nologin tom
[root@mail named]# passwd tom                  //修改密码

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

[root@mail named]# yum install -y telnet      //安装远程登录插件,用于登录25端口测试
[root@mail named]# telnet mail.test.com 25    //远程登录25端口
若出现以下情况,则说明连接smtp服务器成功,不成功可以用systemctl status postfix看postfix的日志
[root@localhost ~]# telnet mail.test.com 25   
Trying 192.168.xxx.zzz...
Connected to mail.test.com.
Escape character is '^]'.
220 mail.test.com ESMTP

在telnet连接下输入以下内容测试
helo mail.aa.com                           //声明发送者的名字,注意不是hello
mail from:jerry@test.com                     //声明发件人地址
rcpt to:tom@test.com                      //声明收件人地址
data                                  //写正文
workers of all lands , unite!
.                                   //以”.”结尾
quit                                 // 退出

查看/home/路径下的邮件账户下

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值