linux邮件系统之Postfix
邮件系统介绍
电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有下面这些
1.简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电子邮件,占用服务器的25/TCP端口
2.邮局协议版本3(Post Office Protocol 3,POP3):用于将电子邮件存储到本地主机,占用服务器的110/TCP端口
3.Internet消息访问协议版本4(Internet Message Access Protocol 4,IMAP4):用于在本地主机*问邮件,占用服务器的143/TCP端口
MUA(Mail User Agent):邮件用户代理,用户收发邮件的服务器
MDA(Mail Delivery Agent):邮件投递代理,保存用户邮件的“信箱”服务器,其工作职责是把来自于MTA(Mail Transfer Agent)邮件传输代理的邮件保存到本地的收件箱中
部署企业级的电子邮件系统注意事项
添加反垃圾与反病毒模块:它能够很有效地阻止垃圾邮件或病毒邮件对企业信箱的干扰
对邮件加密:可有效保护邮件内容不被黑客盗取和篡改
添加邮件监控审核模块:可有效地监控企业全体员工的邮件中是否有敏感词、是否有透露企业资料等违规行为
保障稳定性:电子邮件系统的稳定性至关重要,运维人员应做到保证电子邮件系统的稳定运行,并及时做好防范分布式拒绝服务(Distributed Denial of Service,DDoS)攻击的准备
最基础的电子邮件系统:提供发件服务和收件服务
提供发件服务功能:基于SMTP协议的Postfix服务程序
提供收件服务功能:基于POP3协议的Dovecot服务程序
用户可以使用Outlook Express或Foxmail等客户端服务程序正常收发邮件
早期的Linux系统中,默认的发件服务是由Sendmail服务程序提供
RHEL 8系统中为Postfix服务程序
部署前提
检验电子邮件系统配置效果,要先部署bind服务程序,为电子邮件服务器和客户端提供DNS域名解析服务
信箱地址格式:用户名@主机地址(域名)
服务器
1.配置主机名称
[root@xiudaochengxian ~]# vim /etc/hostname
1 mail.xiuxian.com
[root@mail ~]# hostname
mail.xiuxian.com
2.清空防火墙
[root@mail ~]# iptables -F
3.安装DNS服务
[root@mail ~]# yum -y install bind-chroot
Complete!
4.编辑DNS主配置文件
[root@mail ~]# vim /etc/named.conf
13 listen-on port 53 { any; };
14 listen-on-v6 port 53 { ::1; };
15 directory "/var/named";
16 dump-file "/var/named/data/cache_dump.db";
17 statistics-file "/var/named/data/named_stats.txt";
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 allow-query { any; };
5.编辑DNS区域配置文件
[root@mail ~]# vim /etc/named.rfc1912.zones
1 zone "xiuxian.com" IN {
2 type master;
3 file "xiuxian.com.zone";
4 allow-update {none;};
5 };
6.编辑正向解析文件
[root@mail ~]# cd /var/named/
[root@mail named]# ls
chroot dynamic named.empty named.loopback
data named.ca named.localhost slaves
[root@mail named]# cp -a named.localhost xiuxian.com.zone
[root@mail named]# vim xiuxian.com.zone
1 $TTL 1D
2 @ IN SOA xiuxian.com. root.xiuxian.com. (
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS ns.xiuxian.com.
9 ns IN A 192.168.43.23
10 @ IN MX 10 mail.xiuxian.com.
11 mail IN A 192.168.43.23
7.重启DNS服务并加入开机启动项
[root@mail named]# systemctl restart named
[root@mail named]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
8.ping服务器(ping通,则配置成功)
[root@mail named]# ping -c4 192.168.43.23
PING 192.168.43.23 (192.168.43.23) 56(84) bytes of data.
64 bytes from 192.168.43.23: icmp_seq=1 ttl=64 time=0.199 ms
64 bytes from 192.168.43.23: icmp_seq=2 ttl=64 time=0.106 ms
64 bytes from 192.168.43.23: icmp_seq=3 ttl=64 time=0.075 ms
64 bytes from 192.168.43.23: icmp_seq=4 ttl=64 time=0.077 ms
--- 192.168.43.23 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 0.075/0.114/0.199/0.051 ms
邮件系统部署-Postfix
1.部署Postfix服务
默认已经安装
[root@mail named]# yum -y install postfix
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Package 2:postfix-2.10.1-6.el7.x86_64 already installed and latest version
Nothing to do
2.编辑postfix主配置文件
[root@mail named]# vim /etc/postfix/main.cf
75 myhostname = mail.xiuxian.com #主机名
83 mydomain = xiuxian.com #域名
99 myorigin = $mydomain #从本机发出邮件的域名名称
116 inet_interfaces = all #提供服务的网卡(所有)
164 mydestination = $myhostname, $mydomain #可接收邮件的主机名或域名
3.重启postfix服务并加入开机启动项
[root@mail named]# systemctl restart postfix
[root@mail named]# systemctl enable postfix
4.创建邮件系统登录用户
[root@mail named]# useradd shuaige
5.给用户设置密码
[root@mail named]# passwd shuaige
Changing password for user shuaige.
New password: #密码设置为123456
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
邮件系统部署-Dovecot
1.安装Dovecot
[root@mail ~]# yum -y install dovecot
Complete!
2.编辑dovecot主配置文件
[root@mail ~]# vim /etc/dovecot/dovecot.conf
23 # Protocols we want to be serving.
24 protocols = imap pop3 lmtp #允许的协议
25 disable_plaintext_auth = no #允许用户使用明文密码验证
48 login_trusted_networks = 192.168.43.0/24 #限制某个网段用户使用服务,如果允许所有人使用,不修改参数
3.编辑dovecot子配置文件
[root@mail ~]# vim /etc/dovecot/conf.d/10-mail.conf
#指定收到的邮件存放到服务器本地的位置,默认定义完毕
25 mail_location = mbox:~/mail:INBOX=/var/mail/%u
4.切换用户
[root@mail ~]# su - shuaige
5.新建用于保存邮件的目录(.imap是隐藏目录)
[shuaige@mail ~]$ mkdir -p mail/.imap/INBOX
[shuaige@mail ~]$ logout
6.重启dovecot服务并加入开机启动项
[root@mail ~]# systemctl restart dovecot
[root@mail ~]# systemctl enable dovecot
Created symlink from /etc/systemd/system/multi-user.target.wants/dovecot.service to /usr/lib/systemd/system/dovecot.service.
7.设置防火墙策略(放行邮件协议)
[root@mail ~]# firewall-cmd --permanent --zone=public --add-service=imap
success
[root@mail ~]# firewall-cmd --permanent --zone=public --add-service=pop3
success
[root@mail ~]# firewall-cmd --permanent --zone=public --add-service=smtp
success
[root@mail ~]# firewall-cmd --reload
success
邮件的别名
1.编辑别名
[root@xiudaochengxian ~]# vim /etc/aliases
10 # Basic system aliases -- these MUST be present.
11 mailer-daemon: postmaster
12 postmaster: root
13 shuaige: root
2.保存别名
[root@xiudaochengxian ~]# newaliases
3.重启postfix服务
[root@xiudaochengxian ~]# systemctl restart postfix
4.重启dovecot服务
[root@xiudaochengxian ~]# systemctl restart dovecot
5.查看邮件
[root@xiudaochengxian ~]# mail
检测
客户端
window系统
使用outlook
当使用Outlook软件成功发送邮件后,便可以在电子邮件服务器上查看到新邮件提醒了
在RHEL 8系统中查看邮件的命令是mailx,需要自行安装(输出信息省略)
要想查看邮件的完整内容,只需输入收件人姓名前面的编号即可
[root@xiudaochengxian ~]# yum -y install mailx
[root@xiudaochengxian ~]# mailx
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/root": 1 message 1 new
linux系统
Linux系统下的可选邮件客户端有数十种,如Thunderbird、Evolution、Gear、Elementary Mail、KMail、Mailspring、Sylpheed、Claws Mail等
Thunderbird是一款由FireFox火狐浏览器的母公司Mozilla基金会发布的电子邮件客户端,兼具FireFox浏览器的各种优势,实现跨平台支持,拥有各种插件和丰富功能,简单的操作让用户更容易轻松地上手
1.安装thunderbird
[root@xiudaochengxian ~]# yum -y install thunderbird
2.运行thunderbird
[root@xiudaochengxian ~]# thunderbird
3.在初次进入Thunderbird客户端界面时,会要求用户填写邮件账户的名称、地址和密码
账户不一定要与系统中的账户名称相同,可以理解成是邮件发送人的昵称,密码则是系统中账户的密码,然后单击Continue按钮
4.由于当前没有设置SSL邮局加密,因此在手动配置模式中,需要将SSL选项更改为None,并将Authentication设置为Normal password
5.出于安全方面的考虑,Thunderbird客户端会提示警告信息。选中understand the risks复选框,然后单击Done按钮即可