电子邮件系统
电子邮件系统基于邮件协议来完成电子邮件的传输;
常见邮件协议:
SMTP简单邮件传输协议(Simple Mail Transfer Protocol:用于发送和中转发出的电子邮件,25/TCP端口(默认)。
pop3邮局协议版本(Post Office Protocol 3)用于将电子邮件存储到本地主机,110/TCP端口(默认)。
IMAP消息访问协议版本4(Internet Message Access Protocol 4)用于在本地主机上访问邮件,143/TCP(默认)。
在电子邮件系统中,为用户收发邮件的服务器名为邮件用户代理(Mail User Agent,MUA)。另外,既然电子邮件系统能够让用户在离线的情况下依然可以完成数据的接收,肯定得有一个用于保存用户邮件的“信箱”服务器,这个服务器的名字为邮件投递代理(Mail Delivery Agent,MDA),其工作职责是把来自于邮件传输代理(Mail Transfer Agent,MTA)的邮件保存到本地的收件箱中。其中,这个MTA的工作职责是转发处理不同电子邮件服务供应商之间的邮件,把来自于MUA的邮件转发到合适的MTA服务器。例如,我们从新浪信箱向谷歌信箱发送一封电子邮件,这封电子邮件的传输过程如图所示。
部署基础的电子邮件系统
在配置电子邮件服务前
服务器:
1.配置服务器主机名称,需要保证服务器主机名称与发信域名保持一致;
2.清空iptables防火墙默认策略,并保存策略状态,避免因防火墙中默认存在的策略阻止了客户端DNS解析域名及收发邮件;
3.为电子邮件系统提供域名解析,配置好后重启bind服务,更改网卡DNS地址为服务器本机,重启网卡服务。
(1)配置服务器主机名称
[root@lizhiqiang Desktop]# vim /etc/hostname
查看当前服务器主机名称,看是否修改成功
[root@lizhiqiang Desktop]# hostname
mail.lizhiqiang.com
清空iptables防火墙默认策略
[root@lizhiqiang Desktop]# iptables -F
保存iptables防火墙当前策略状态
[root@lizhiqiang Desktop]# service iptables save
安装bind服务,配置DNS域名解析
[root@lizhiqiang Desktop]# yum install -y bind-chroot
编辑bind服务主配置文件
[root@lizhiqiang Desktop]# vim /etc/named.conf
...
options {
listen-on port 53 { any; };
...
allow-query { any; };
...
编辑bind服务的区域配置文件
[root@lizhiqiang Desktop]# vim /etc/named.rfc1912.zones
zone "linux.com" IN {
type master;
file "linux.com.zone";
allow-update { none; };
};
进入保存数据配置文件以及相关模板文件的目录
[root@lizhiqiang Desktop]# cd /var/named/
复制正向解析模板,复制文件保留原有权限属性
[root@lizhiqiang named]# cp -a named.localhost linux.com.zone
编辑数据配置文件
[root@lizhiqiang named]# vim linux.com.zone
$TTL 1D
@ IN SOA linux.com. lizhiqiang.linux.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linux.com.
ns IN A 192.168.14.30
@ IN MX 10 mail.linux.com.
mail IN A 192.168.14.30
重启服务并加入启动项
[root@lizhiqiang named]# systemctl restart named
[root@lizhiqiang named]# systemctl enable named
修改网卡参数DNS为服务器ip192.168.14.30
[root@lizhiqiang named]# nmtui
重启网卡服务
[root@lizhiqiang named]# systemctl restart network
配置Postfix服务
Postfix是一款由IBM资助研发的免费开源电子邮件服务程序,能够很好地兼容Sendmail服务程序,可以方便Sendmail用户迁移到Postfix服务上。Postfix服务程序的邮件收发能力强于Sendmail服务,而且能自动增加、减少进程的数量来保证电子邮件系统的高性能与稳定性。另外,Postfix服务程序由许多小模块组成,每个小模块都可以完成特定的功能,因此可在生产工作环境中根据需求灵活搭配它们。
Postfix服务程序主配置文件中的重要参数
参数 | 作用 |
---|---|
myhostname | 邮局系统的主机名 |
mydomain | 邮局系统的域名 |
myorigin | 从本机发出邮件的域名名称 |
inet_interfaces | 监听的网卡接口 |
mydestination | 可接收邮件的主机名或域名 |
mynetworks | 设置可转发哪些主机的邮件 |
relay_domains | 设置可转发哪些网域的邮件 |
在(1)的基础上配置postfix服务
(RHEL7默认已经安装)
[root@lizhiqiang named]# yum install -y postfix
编辑Postfix服务的主配置文件
[root@lizhiqiang named]# vim /etc/postfix/main.cf
75 myhostname = mail.linux.com #定义一个名为myhostname的变量,用来保存服务器的主机名称
83 mydomain = linux.com #定义一个名为mydomain的变量,用来保存邮件域的名称
99 myorigin = $mydomain #调用前面的mydomain变量,用来定义发出邮件的域(调用变量的好处是避免重复写入信息,以及便于日后统一修改)。
116 inet_interfaces = all #定义网卡监听地址。可以指定要使用服务器的哪些IP地址对外提供电子邮件服务;也可以干脆写成all,代表所有IP地址都能提供电子邮件服务
164 mydestination = $myhostname, $mydomain #定义可接收邮件的主机名或域名列表
新建用户peter(做邮件收发测试用)
[root@lizhiqiang named]# useradd peter
设置peter用户密码
[root@lizhiqiang named]# echo "14725836" | passwd --stdin peter
重启并加入启动项
[root@lizhiqiang named]# systemctl restart postfix.service
[root@lizhiqiang named]# systemctl enable postfix.service
配置Dovecot服务程序
Dovecot是一款能够为Linux系统提供IMAP和POP3电子邮件服务的开源服务程序,安全性极高,配置简单,执行速度快,而且占用的服务器硬件资源也较少。
dovecot服务的主配置文件:/etc/dovecot/dovecot.conf 。
dovecot服务的子配置文件:/etc/dovecot/conf.d/10-mail.conf。
Dovecot服务程序为了保证电子邮件系统的安全而默认强制用户使用加密方式进行登录。
在(2)的基础上配置Dovercot服务程序
[root@mail Desktop]# yum install -y dovecot #安装服务
[root@mail Desktop]# vim /etc/dovecot/dovecot.conf #编辑主配置文件
24 protocols = imap pop3 lmtp #使得Dovecot服务程序支持的电子邮件协议修改为imap、pop3和lmtp
25 disable_plaintext_auth = no #允许用户使用明文进行密码验证
48 login_trusted_networks = 192.168.14.0/24 #设置允许登录的网段地址
[root@mail Desktop]# vim /etc/dovecot/conf.d/10-mail.conf #编辑dovecot服务的子配置文件
25 mail_location = mbox:~/mail:INBOX=/var/mail/%u #指定要将收到的邮件存放到服务器本地的位置
[root@mail Desktop]# su - peter
[peter@mail ~]$ mkdir -p mail/.imap/INBOX #建立用于保存邮件的目录,~/mail:INBOX = home/liwh/mail/.imap/INBOX
[peter@mail ~]$ exit
logout
[root@mail Desktop]# systemctl restart dovecot 重启并加入启动项
[root@mail Desktop]# systemctl enable dovecot
客户使用电子邮件系统
客户端:设置为仅主机模式,防火墙关闭;
设置客户端
并且使服务端与客户端可以ping通
客户端:
服务端:
可以使用Windows操作系统中自带的Outlook软件来进行测试(也可以使用其他电子邮件客户端来测试,比如Foxmail)电子邮件系统是否已经能够正常收发邮件。
这里使用的是Foxmail,手动设置创建账号
客户端发送邮件
服务端接收
服务端发送:
客户端接收:
设置用户别名邮箱
用户别名功能是一项简单实用的邮件账户伪装技术,可以用来设置多个虚拟信箱的账户以接受发送的邮件,从而保证自身的邮件地址不被泄露,还可以用来接收自己的多个信箱中的邮件。
编辑aliases邮件别名服务的配置文件:/etc/aliases。里面定义了大量的用户别名,这些用户别名大多数是Linux系统本地的系统账户,而在冒号(:)间隔符后面的root账户则是实际用来接收这些账户邮件的人。用户别名可以是Linux系统内的本地用户,也可以是完全虚构的用户名字。
newaliases命令:让用户别名配置文件的设置立即生效。、
给root设置tony别名
发送给tony,root接收