CentOS8服务篇5:使用Postfix与Dovecot部署电子邮件系统
创始人
2025-05-28 22:34:39
0

      一个基础的电子邮件系统必须能提供发件服务和收件服务,为此需要使用基于SMTP协议的Postfix服务程序提供发件服务功能,并使用基于POP3协议的Dovecot服务程序提供收件服务功能。这样一来,用户就可以使用Outlook Express或Foxmail等客户端服务程序正常收发电子邮件了。

一、部署基础的电子邮件系统

      一般而言,用户的邮箱地址类似于“root@linux-yhy.com”,其格式为“用户名@主机地址(域名)”。如果您给我一串“root@192.168.88.188”的信息,我可能猜不到这是一个邮箱地址,也许会将它当作SSH协议的连接信息。因此,要想更好地检验电子邮件系统的配置效果,需要先部署BIND服务程序,为电子邮件服务器和客户端提供DNS域名解析服务。

第1步:配置服务器主机名称。

配置服务器主机名称,需要保证服务器主机名称与发信域名保持一致:

【vim /etc/hostname】

mail.linux-yhy.com

【hostname】

mail.linux-yhy.com

第2步:停用防火墙和临时关闭SELinux

【systemctl stop firewalld】

【setenforce 0】

第3步:配置域名解析。

为电子邮件系统提供域名解析。第13章已经讲解了bind-chroot服务程序的配置方法,因此这里只提供主配置文件、区域配置文件和域名数据文件的配置内容,其余配置步骤请大家自行完成:

【cat /etc/named.conf】

  10 options {

  11 listen-on port 53 { any; };

  12 listen-on-v6 port 53 { ::1; };

  13 directory "/var/named";

  14 dump-file "/var/named/data/cache_dump.db";

  15 statistics-file "/var/named/data/named_stats.txt";

  16 memstatistics-file "/var/named/data/named_mem_stats.txt";

  17 allow-query { any; };

  18

………………省略部分输出信息………………

【cat /etc/named.rfc1912.zones】

zone "linux-yhy.com" IN {

    type master;

    file "linux-yhy.com.zone";

    allow-update {none;};

};

【cat /var/named/linux-yhy.com.zone】

$TTL 1D

@

IN SOA

linux-yhy.com.

root.linux-yhy.com.

(

0;serial

1D;refresh

1H;retry

1W;expire

3H;minimum

NS

ns.linux-yhy.com.

ns

IN A

192.168.88.188

@

IN MX 10

mail.linux-yhy.com.

mail

IN A

192.168.88.188

【systemctl restart named】

【systemctl enable named】

修改好配置文件后记得重启bind服务程序,这样电子邮件系统所对应的服务器主机名称为mail.linux-yhy.com,而电子邮件域为@linux-yhy.com。把服务器的DNS地址修改成本地IP地址,如下图所示。

 二、配置Postfix电子邮件服务器

第1步:安装Postfix服务。

【rpm -qa postfix】

【yum install postfix】

第2步:配置Postfix服务程序。

Postfix服务程序的主配置文件大约有679行左右的内容,但是需要重点掌握的只有7个参数,如表所示。大部分为注释内容。

   

   

大 概 位 置

myhostname

邮件系统的主机名

第76行

mydomain

邮件系统的域名

第83行

myorigin

从本机发出电子邮件的域名

第99行

inet_interfaces

监听的网卡接口

第116行

mydestination

可接收电子邮件的主机名或域名

第164行

mynetworks

设置可转发哪些主机的电子邮件

第264行

relay_domains

设置可转发哪些网域的电子邮件

第296行

在Postfix服务程序的主配置文件中,总计需要修改5处内容。第1处修改是在第76行,定义一个名为myhostname的变量,用来保存服务器的主机名。请记住这个变量的名称,以下参数需要调用它,注意去掉前面的注释符号井号(#)。

【vim /etc/postfix/main.cf】

………………省略部分输出信息………………

75 #myhostname = host.domain.tld

76 myhostname = mail.linux-yhy.com

………………省略部分输出信息………………

第2处修改是在第83行,定义一个名为mydomain的变量,用来保存电子邮件的域名。大家也要记住这个变量名称,以下参数将调用它:

78 # The mydomain parameter specifies the local internet domain name.

79 # The default is to use $myhostname minus the first component.

80 # $mydomain is used as a default value for many other configuration

81 # parameters.

82 #

83 mydomain = linux-yhy.com

第3处修改是在第99行,调用前面的mydomain变量,以定义发出电子邮件的域。调用变量的好处是避免重复写入信息,并便于日后统一修改:

94 # For the sake of consistency between sender and recipient addresses,

95 # myorigin also specifies the default domain name that is appended

96 # to recipient addresses that have no @domain part.

97 #

98 #myorigin = $myhostname

99 myorigin = $mydomain

4处修改是在第116行,定义网卡监听地址。可以指定要使用服务器的哪些IP地址对外提供电子邮件服务;也可以写成all,这代表所有IP地址都能提供电子邮件服务:

113 #inet_interfaces = all

114 #inet_interfaces = $myhostname

115 #inet_interfaces = $myhostname, localhost

116 inet_interfaces = all

最后一处修改是在第164行,定义可接收电子邮件的主机名或域名列表。这里可以直接调用前面定义好的myhostname和mydomain变量(如果不想调用变量,也可以直接调用变量中的值):

162 # See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".

163 #

164 mydestination = $myhostname , $mydomain

165 #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

166 #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,

第3步:创建电子邮件系统的登录账户。

Postfix可以调用本地系统的账户和密码,因此在本地系统创建常规账户即可。最后重启配置妥当的postfix服务程序,并将其添加到开机启动项中。

【useradd boss】

【echo "linux-yhy" | passwd --stdin boss】

【systemctl restart postfix】

【systemctl enable postfix】

三、配置Dovecot服务

第1步:安装Dovecot服务程序软件包。

首先配置yum软件仓库、挂载光盘镜像到指定目录,然后输入要安装的Dovecot软件包名称即可:

【yum install  -y dovecot】

第2步:配置部署Dovecot服务程序。

在Dovecot服务程序的主配置文件中进行以下修改。首先是第24行,把Dovecot服务程序支持的协议修改为imap、pop3和lmtp。然后在这一行下面添加一行参数,允许用户使用明文进行密码验证。之所以这样操作,是因为Dovecot服务程序为了保证电子邮件系统的安全默认强制用户使用加密方式进行登录,而当前还没有加密系统,因此需要添加此参数,允许用户使用明文登录。

【vim /etc/dovecot/dovecot.conf】

………………省略部分输出信息………………

23 # Protocols we want to be serving.

24 protocols = imap pop3 lmtp

25 disable_plaintext_auth = no

………………省略部分输出信息………………

在主配置文件中的第48行设置允许登录的网段地址,也就是说可以在这里限制只有来自某个网段的用户才能使用电子邮件系统。如果想允许所有人都能使用电子邮件系统,就不用修改本参数:

44 # Space separated list of trusted network ranges. Connections from these

45 # IPs are allowed to override their IP addresses and ports (for logging and

46 # for authentication checks). disable_plaintext_auth is also ignored for

47 # these networks. Typically you'd specify your IMAP proxy servers here.

48 login_trusted_networks = 192.168.88.0/24

第3步:配置电子邮件格式与存储路径。

在Dovecot服务程序单独的子配置文件中定义一个路径,用于指定将收到的电子邮件存放到本地服务器的哪个位置。此路径默认已经被定义好,只需要将该配置文件中的第25行前面的井号(#)删除即可。

【vim /etc/dovecot/conf.d/10-mail.conf】

24 # mail_location = maildir:~/Maildir

25 mail_location = mbox:~/mail:INBOX=/var/mail/%u

26 # mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n

………………省略部分输出信息………………

然后切换到配置Postfix服务程序时创建的boss账户,并在家目录中建立用于保存电子邮件的目录。记得要重启Dovecot服务程序并将其添加到开机启动项中。至此,对Dovecot服务程序的配置部署步骤全部完成。

【su - boss】

Last login: Sat Aug 15 16:15:58 CST 2017 on pts/1

【mkdir -p mail/.imap/INBOX】

【exit】

【systemctl restart dovecot】

【systemctl enable dovecot】

四、配置电子邮件客户端

下面将介绍如何使用Windows操作系统中自带的Outlook来进行测试(也可以使用其他电子邮件客户端来测试,如Foxmail)。请按照下图来设置电子邮件系统、DNS服务器和客户端主机的IP地址,以便能正常解析电子邮件域名。

 

第1步:在Windows 7操作系统中运行Outlook软件程序。

各位读者使用的Windows 7操作系统的版本不一定相同,笔者决定采用Outlook 2013版本进行实验。如果您想要与这里的实验环境保持一致,请先安装Outlook 2013,如图所示。

 

第2步:配置电子邮件账户。

在“Microsoft Outlook账户设置”界面中选择“是”单选按钮,然后单击“下一步”按钮,如图14-6所示。

 

第3步:填写电子邮件账户信息。

“您的姓名”文本框中可以为自定义的任意名字,“电子邮件地址”文本框中则需要输入服务器系统内的账户名加发件域,“密码”文本框中需要输入该账户的登录密码。在填写完毕之后,单击“下一步”按钮,如图所示。

 

第4步:进行电子邮件服务登录验证。

当前没有可用的SSL加密服务,因此在Dovecot服务程序的主配置文件中写入了一条参数,让客户可以使用明文登录到电子邮件服务。Outlook软件默认会通过SSL加密协议尝试登录电子邮件服务,所以在进行“正在搜索boss@linux-yhy.com设置”大约30~60秒后(见图14-8),系统会出现登录失败的报错信息。此时只需再次单击“下一步”按钮,Outlook软件即可通过非加密的方式验证登录,如图所示。

 

第5步:向其他信箱发送电子邮件

在成功登录Outlook软件后,即可尝试编写并发送电子邮件。只需在软件界面的空白处右击,在弹出的菜单中选择“新建电子邮件”命令,如图所示,然后在电子邮件界面填写收件人的邮箱地址及完整的电子邮件内容后单击“发送”按钮,如图14-11所示。

 

 当使用Outlook软件成功发送电子邮件后,便可以在电子邮件服务器上使用mail命令查看到新电子邮件提醒了。如果想查看电子邮件的完整内容,只需输入收件人姓名前面的编号即可,ROOT用户查看电子邮件效果图如图所示。

 

相关内容

热门资讯

安全生产月主题活动方案 2021年安全生产月主题活动方案  为了确保活动能有条不紊地开展,常常要根据具体情况预先制定活动方案...
个人能力的提升计划 个人能力的提升计划(精选13篇)  时间流逝得如此之快,成绩已属于过去,新一轮的工作即将来临,此时此...
读书会主题活动方案 读书会主题活动方案(通用12篇)  为了保障活动顺利、圆满进行,就不得不需要事先制定活动方案,活动方...
大学母亲节活动方案 大学母亲节活动方案  为了确保事情或工作有序有效开展,我们需要提前开始方案制定工作,方案一般包括指导...
三八妇女节主题活动方案 三八妇女节主题活动方案(精选21篇)  为了确保事情或工作有序有力开展,通常会被要求事先制定方案,方...
象棋比赛活动方案 象棋比赛活动方案15篇  为了确保事情或工作安全顺利进行,往往需要预先进行方案制定工作,方案是阐明具...
小学英语主题教研活动方案 小学英语主题教研活动方案范文(通用5篇)  为确保活动高质量高水平开展,就需要我们事先制定活动方案,...
隧道施工专项施工方案 隧道施工专项施工方案  一、什么是方案  方案,汉语词语,一般是指进行工作的具体计划或对某一问题制定...
开展文明交通活动方案 开展文明交通活动方案(通用10篇)  方案是从目的、要求、方式、方法、进度等都部署具体、周密,并有很...
青年节活动方案 有关青年节活动方案(通用17篇)  为了确保活动有效开展,常常需要提前制定一份优秀的活动方案,活动方...
婚纱摄影促销活动方案 婚纱摄影促销活动方案(合集)  为了确保事情或工作安全顺利进行,常常需要预先准备方案,方案一般包括指...
素质拓展活动方案 素质拓展活动方案(15篇)  为了确保事情或工作扎实开展,时常需要预先制定一份周密的方案,方案可以对...
幼儿园有趣的活动方案 幼儿园有趣的活动方案(通用18篇)  为了确保工作或事情能有条不紊地开展,就不得不需要事先制定方案,...
全国助残日活动方案 全国助残日活动方案(精选20篇)  为了确保工作或事情能有条不紊地开展,通常会被要求事先制定方案,方...
小舞台活动方案 小舞台活动方案  为了保障事情或工作顺利、圆满进行,常常要根据具体情况预先制定方案,方案的内容和形式...
最有创意活动方案 最有创意活动方案(精选9篇)  为了确定活动的圆满进行,常常需要提前制定一份优秀的活动方案,活动方案...
校园文化艺术节活动方案 校园文化艺术节活动方案(精选11篇)  为保证活动高起点、高质量、高水平开展,就不得不需要事先制定活...
小学游园活动方案 小学游园活动方案  为了确保事情或工作得以顺利进行,往往需要预先制定好方案,方案是从目的、要求、方式...
国际牛奶日主题活动方案 国际牛奶日主题活动方案  为了确保事情或工作有序有力开展,就常常需要事先准备方案,方案是阐明具体行动...
高三高考语文复习计划书参考 高三高考语文复习计划书(参考范文)  复习计划要留有余地,不要“满打满算”。下面小编为大家推荐的是高...