一、什么是postfix服务器
postfix服务是linux系统上给用户之间提供收发mail邮件的服务。
二、CentOS 7 搭建postfix服务器
1.设置mail域名
echo 'mail.zt.com' > /etc/hostname
hostname -F /etc/hostname #让设置立即生效
2.DNS域名解析 postfix地址
这一步在整个流程中很重要,是连接成功的关键,建议先了解DNS服务器的搭建再操作
建立配置文件
vi /etc/named.conf
修改以下内容
options:
listen-on port 53 { 192.168.222.110; }; #本机IP
allow-query { 0.0.0.0/0; };
在最后添加以下内容
zone "zt.com" IN {
type master;
file "zt.com.zone";
};
zone "222.168.192.in-addr.arpa" IN {
type master;
file "192.168.222.zone";
};
检查语法错误
named-checkconf
建立区域数据文件 (正向解析)
cd /var/named
vi zt.com.zone
添加以下内容
$TTL 510
@ IN SOA zt.com test.zt.com. (
20210326
4H
1M
2W
2D
)
@ IN NS dns.zt.com.
IN MX 10 mail.zt.com.
mail IN A 192.168.222.110
dns IN A 192.168.222.100
检测语法错误
named-checkzone zt.com ./zt.com.zone
建立反向区域数据文件 (反向解析)
vi 192.168.222.com.zone
添加以下内容
$TTL 510
@ IN SOA zt.com test.zt.com. (
20210326
4H
1M
2W
2D
)
@ IN NS dns.zt.com.
110 IN PTR mail.zt.com.
100 IN PTR dns.zt.com.
检测语法错误
named-checkzone 222.168.192.in-addr.arpa ./192.168.222.zone
添加DNS解析配置
vi /etc/resolv.conf
nameserver 192.168.222.110
启动DNS服务
systemctl restart named
nslookup检测
显示自己的IP与域名对应关系正确,则配置成功。
3.安装并配置postfix服务器
查询、安装postfix
rpm -qa|grep postfix
yum -y install postfix
postconf -a #查询是否支持dovecot
编辑postfix配置文件
vi /etc/postfix/main.cf
#修改主机名
75 myhostname = mail.zt.com
83 mydomain = zt.com
#修改IP等网络配置及邮件目录
113 inet_interfaces = all
119 inet_protocols = ipv4
164 mydestination = #后面添加 ,$mydomain
419 home_mailbox = Maildir/
语法检测
postfix check
启动服务
systemctl restart postfix
4.安装并配置dovecot服务
yum安装
yum -y install dovecot
编辑配置文件
vi /etc/dovecot/dovecot.conf
#去掉注释
24 protocols = imap pop3 lmtp
30 listen = *, ::
vi /etc/dovecot/conf.d/10-auth.conf
10 disable_plaintext_auth = no
vi /etc/dovecot/conf.d/10-mail.conf
24 mail_location = Maildir:~/Maildir
启动dovecot服务(否则无法telnet登录110端口)
systemctl start dovecot
注:上述配置行前面的数字表示行号,方便查找
5.测试postfix服务器
添加测试账号
groupadd ztmail
useradd -g ztmail zt511
useradd -g ztmail zt512
passwd zt511 zt512 #这里密码设为wasdijk
防火墙、SELinux配置
vi /etc/sysconfig/iptables
#添加tcp25、tcp110端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
重启防火墙
systemctl restart iptables.service
关闭防火墙、SELinux
iptables -F
setenforce 0
getenforce #查看状态
telnet端口测试
连接25端口发邮件
telnet mail.zt.com 25
设置方法见图
这里先helo声明邮件主机,设置发件人zt511,收件人zt512,data用于标识邮件正文,内容为“hello,I am testing postfix.” 标点符号.用于结束正文书写,最后quit退出telnet。
连接110端口收邮件(这里一定要开启dovecot服务,不然连不上)
telnet mail.zt.com 110
查看方法见图
声明登录用户“zt512” user zt512
输入密码:pass 密码
list 用于列出邮件列表(可以看出有两封邮件)
retr 2 读取2号邮件(刚刚发送的)
可以完整的看到邮件信息和内容
quit 退出telnet 测试成功。Maildir测试
也可以登录相关用户,进入相关文件夹查看邮件
注意:邮件文件保存在Maildir下的cur文件夹里,进入即可看到很长文件名的邮件文件,可以用cat或者vi命令查看邮件内容。