电子邮件系统基于邮件协议完成电子邮件的传输,最常用的三种邮件协议如下:
- SMTP: 简单邮件传输协议,主要用于发送和传输邮件,占用服务器的25/TCP端口。
- POP: 邮局协议,主要用于从邮件服务器中收取邮件。目前POP协议的最新版本是POP3。占用服务器的110/TCP端口。
- IMAP: 互联网消息访问协议,同样用于收取邮件,目前IMAP协议的最新版本是IMAP4。与POP3比较,IMAP4协议提供了更为灵活和强大的邮件收取、管理功能。占用服务器的143/TCP端口。
(1) 为了部署一个最基础的电子邮件系统,我们可以使用Postfix服务程序提供SMTP发件服务,Dovecot服务程序提供POP3/IMAP收件服务,使用telnet在本机服务器上发信和收信,在Windows操作系统上用Foxmail软件检验收发信功能。
(2) 一般而言,邮箱地址是类似于“root@benet.com”这样的,“root@192.168.10.50”这样的信息,会以为是SSH协议的连接信息,因此需要为电子邮件服务器提供DNS域名解析服务,部署bind服务程序。
所以RedHat6系统可以同时部署DNS服务器和邮件服务器
操作步骤如下所示:
第一步 配置DNS服务程序
具体详细操作参见使用Bind部署DNS域名服务器 http://www.info110.com/Linux/2018-11/155523.htm
这里需要注意的是区域数据文件mail.benet.com对应的IP地址是本服务器的IP地址192.168.10.50
第二步 配置Postfix服务程序
1.安装Postfix服务程序
RedHat6系统默认安装Postfix服务程序,外部用户要访问电子邮件系统,需要禁用iptables防火墙
yum install postfix -y service iptables stop
2.编辑Postfix服务程序主配置文件(/etc/postfix/main.cf)
vim /etc/postfix/main.cf
inet_interfaces = all //监听服务的IP地址
myhostname = mail.benet.com //邮件服务器主机名
mydomain = benet.com //邮件域名
myorigin = $mydomain //发件人地址邮件域名
mydestination = $mydomain, $myhostname #收件人地址邮件域名或主机名
home_mailbox = Maildir/ //邮件存放位置
3.启动Postfix服务
4.创建电子邮件系统的登录账户(zhangsan、lisi)
groupadd mailusers //添加组mailusers
useradd -g mailusers -s /sbin/nologin zhangsan
//添加禁止登陆系统的本地账户zhangsan到mailusers组
passwd zhangsan //设置zhangsan用户密码
useradd -g mailusers -s /sbin/nologin lisi
#添加禁止登陆系统的本地账户lisi到mailusers组
passwd lisi //设置lisi用户密码
第三步 配置Dovecot服务程序
1.安装Dovecot服务程序软件包
自行挂载光盘镜像、配置Yum软件仓库,输入要安装的软件包Dovecot
2.编辑Dovecot服务程序主配置文件(/etc/dovecot/dovecot.conf)
protocols = imap pop3 lmtp //开启协议
login_trusted_networks = 192.168.10.0/24 //允许登陆使用邮件系统的网段地址
3.编辑Dovecot服务程序单独的子配置文件(/etc/dovecot/conf.d/10-mail.conf)
mail_location = maildir:~/Maildir //开启邮箱的位置及格式
4.启动Dovecot服务
第四步 在Redhat6下测试发送、接收邮件
1. 测试发送邮件
helo mail.benet.com mail rcpt to:lisi@benet.com data subject:hello lisi my name . quit
2. 测试接收邮件
user lisi pass retr quit
第五步 在两个Windows 7客户端安装foxmail检验测试结果
- 关掉Linux服务器的防火墙
- 在两个Windows 7客户端都设置DNS地址
-
安装Foxmail客户端,分别手工配置邮件账户zhangsan,lisi
lisi账户设置同上。 - 检测zhangsan和lisi用户能收发邮件