前言:
本文是一篇关于Linux系统初学者的实验记录。
参考书籍:《Linux就该这么学》
实验环境:
VmwareWorkStation 17——虚拟机软件
RedHatEnterpriseLinux[RHEL]8——红帽操作系统
备注:
Web服务和FTP文件传输服务虽能实现文件共享。但是需要双方同时在线才能完成传输工作。
Ray Tomlinson用了近一年时间完成了电子邮件的设计,并在1071年秋天使用SNDMSG软件向自己的另一台计算机发出了第一封电子邮件——电子邮件系统在互联网中由此诞生。
电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有:
简单邮件传输协议(Simple Mail Transfer Protocl,SMPT):
用于发送和中转发出的电子邮件,占用服务器的TCP/25端口。
邮局协议版本3(Post Office Protocol 3):
用于将电子邮件存储到本地主机,占用服务器TCP/110端口。
Internet消息访问协议版本4(Internet Message Access Protocol 4):
用于在本地主机上访问邮件,占用服务器的TCP/143端口。
在电子邮件系统中,为用户收发邮件的服务器名为邮件用户代理(Mail User Agent,MUA)
用于保存用户邮件的“信箱”服务器名叫邮件投递代理(Mail Delivery Agent,MDA)
把来自邮件传输代理(Mail Transfer Agent,MTA)的邮件保存到本地的收件箱中。
在生成环境中部署企业级电子邮件系统时,注意:
1.添加反垃圾与反病毒模块
2.对邮件加密
3.添加邮件监控审核模块
4.保障稳定性
实验1:部署基础的电子邮件系统
一个最基础的电子邮件系统要能提供发件服务和收件服务,为此需要使用基于SMTP的Postfix服务程序提供发件服务功能,并使用基于POP3协议的Dovecot服务程序提供收件服务功能。
为了更好地检验电子邮件系统的配置效果,需要先部署bind服务程序,为电子邮件服务器和客户端提供DNS域名解析服务。
Step1.1:配置服务器主机名称,需要保证服务器主机名称与发信域名一致
vim /etc/hostname
改为mail.linuxprobe.com
或使用:
hostnamectl set-hostname mail.linuxprobe.com
Step1.2:清空iptables防火墙默认策略,保存策略状态
iptables -F
iptables-save
firewall-cmd --permanent --zone=public --add-service=dns
firewall-cmd --reload
Step1.3:为电子邮件系统提供域名解析
/etc/named.conf
/etc/named.rfc1912.zones
cp -a /var/named/named.localhost /var/named/linuxprobe.com.zone
/ver/named/linuxprobe.com.zone
zone "linuxprobe.com" IN {
type master;
file "linuxprobe.com.zone";
allow-update { none; };
};
$TTL 1D
@ IN SOA linuxprobe.com. root.linuxprobe.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linuxprobe.com.
ns IN A 192.168.10.10
@ IN MX 10 mail.linuxprobe.com.
mail IN A 192.168.10.10
Step2:配置Postfix服务程序
Postfix是一款由IBM资助研发的免费开源电子邮件服务程序,能够很好地兼容Sendmail服务程序,可以方便Sendmail用户迁移到Postfix服务上。Postfix服务程序的邮件收发能力强于Sendmail服务,而且能自动增加、减少进程数量来保证电子邮件系统的高性能与稳定性。‘
Step2.1:安装Postfix服务
dnf install postfix
Step2.2:配置Postfix服务程序。
vim /etc/postfix/main.cf
参数 | 作用 |
myhostname | 邮件的主机名 |
mydomain | 邮局系统的域名 |
myorigin | 从本机发出邮件的域名名称 |
inet_interfaces | 监听的网卡接口 |
mydestination | 可接受邮件的主机名或域名 |
mynetworks | 设置可转发哪些主机的邮件 |
relay_domains | 设置可转发哪些网域的邮件 |
vim /etc/postfix/main.cf
ling 95:mail.linuxprobe.com
line 102:mydomain = linuxprobemcom
line 118:myorigin = $mydomain
line 135:inet_interfaces = all
line 183:mydestination = $myhostname, $mydomain
systemctl restart postfix
systemctl enable postfix
Step2.3:创建电子邮件系统的登录账户
Postfix与vsftpd服务程序一样,都可以调用本地系统的账户和密码,因此在本地系统中创建常规账户即可。
useradd zhang
echo "linuxprobe" | passwd --stdin zhang
systemctl restart postfix
systemctl enable postfix
Step3:配置Dovecot服务程序
Dovert是一款能够为Linux系统提供IMAP和POP3电子邮件服务的开源服务程序,安全性高,配置简单,执行速度快,而且占用的服务器硬件资源少,是一款值得推荐的收件服务程序。
Step3.1:安装Dovert服务程序包
dnf install -y dovert
Step3.2:配置部署Dovert服务程序
vim /etc/dovecot/dovecot.conf
line 24:protocols = imap pop3 lmtp
ling 25:disable_plaintext_auth = no
line 49:login_trusted_networks = 192.168.10.0/24
Step3.3:配置邮件格式与存储路径
vim /etc/dovecot/conf.d/10-mail.conf
ling 25:mail_location = mbox:~/mail:INBOX=/var/mail/%u
su - zhang
mkdir -p mail/.imap/INBOX
exit
systemctl restart dovecot
systemctl enable dovecot
firewall-cmd --permanent --zone=public --add-service=imap
firewall-cmd --permanent --zone=public --add-service=pop3
firewall-cmd --reload