电子邮件系统基于邮件协议完成电子邮件的传输,最常用的三种邮件协议如下:

  • 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域名服务器

这里需要注意的是区域数据文件mail.benet.com对应的IP地址是本服务器的IP地址192.168.10.50

第二步 配置Postfix服务程序

1.安装Postfix服务程序

RedHat6系统默认安装Postfix服务程序,外部用户要访问电子邮件系统,需要禁用iptables防火墙

rpm -q postfix          //检查postfix软件包是否安装
yum install postfix -y  //如果没有安装postfix,用yum安装
service iptables stop   //关掉防火墙

2.编辑Postfix服务程序主配置文件(/etc/postfix/main.cf)

vim /etc/postfix/main.cf      
                                         //编辑postfix主配置文件

inet_interfaces = all //监听服务的IP地址
myhostname = mail.benet.com //邮件服务器主机名
mydomain = benet.com //邮件域名
myorigin = $mydomain //发件人地址邮件域名
mydestination = $mydomain, $myhostname #收件人地址邮件域名或主机名
home_mailbox = Maildir/ //邮件存放位置

3.启动Postfix服务

service postfix start      //启动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

yum install dovecot -y    //安装Dovecot软件包

2.编辑Dovecot服务程序主配置文件(/etc/dovecot/dovecot.conf)

vim /etc/dovecot/dovecot.conf       //编辑dovecot主配置文件

protocols = imap pop3 lmtp //开启协议
login_trusted_networks = 192.168.10.0/24 //允许登陆使用邮件系统的网段地址

3.编辑Dovecot服务程序单独的子配置文件(/etc/dovecot/conf.d/10-mail.conf)

vim /etc/dovecot/conf.d/10-mail.conf      //编辑dovecot子配置文件

mail_location = maildir:~/Maildir //开启邮箱的位置及格式

4.启动Dovecot服务

service dovecot start      #启动dovecot服务

第四步 在Redhat6下测试发送、接收邮件

1. 测试发送邮件

telnet 192.168.10.50 25  //远程登录服务器25端口,发邮件

helo mail.benet.com     

mail from:zhangsan@benet.com  //zhangsan用户发送邮件

rcpt to:lisi@benet.com      //lisi用户接收邮件

data                       //数据类型

subject:hello lisi         //邮件主题

my name is zhangsan     //邮件内容

.                       //结束

quit                //离开此次的远程登录

RedHat6下使用Postfix与Dovecot部署基础的邮件系统

2. 测试接收邮件

telnet mail.benet.com 110   //远程登录服务器的110端口,接收邮件

user lisi    //以用户lisi身份登录

pass 123123   //输入密码

list        //查看是否有接收邮件

retr 1     //查看1封邮件的详细信息

quit      //离开此次的远程登录

RedHat6下使用Postfix与Dovecot部署基础的邮件系统

第五步 在两个Windows 7客户端安装foxmail检验测试结果

  1. 关掉Linux服务器的防火墙
    service iptables stop
  2. 在两个Windows 7客户端都设置DNS地址
    RedHat6下使用Postfix与Dovecot部署基础的邮件系统
  3. 安装Foxmail客户端,分别手工配置邮件账户zhangsan,lisi
    RedHat6下使用Postfix与Dovecot部署基础的邮件系统
    RedHat6下使用Postfix与Dovecot部署基础的邮件系统
    lisi账户设置同上。

  4. 检测zhangsan和lisi用户能收发邮件
    RedHat6下使用Postfix与Dovecot部署基础的邮件系统
    RedHat6下使用Postfix与Dovecot部署基础的邮件系统
    RedHat6下使用Postfix与Dovecot部署基础的邮件系统
    RedHat6下使用Postfix与Dovecot部署基础的邮件系统