首页 > 代码库 > 使用Postfix和Dovecot收发电子邮件

使用Postfix和Dovecot收发电子邮件

邮件应用协议包括:

  1. 简单邮件传输协议(SMTP),用来发送或中转发出的电子邮件,占用tcp 25端口。
  2. 第三版邮局协议(POP3),用于将服务器上把邮件存储到本地主机,占用tcp 110端口。
  3. 第四版互联网信息访问协议(IMAP4),用于在本地主机上访问邮件,占用tcp 143端口。

技术分享

 

搭建企业级的电子邮件系统,请考虑下面几点:

  反垃圾与反病毒模块:阻止垃圾邮件或病毒邮件对企业邮箱的干扰。
  邮件加密:保证邮件内容不被嗅探、篡改。
  邮件监控审核:监控全体职员邮件中有无敏感词,透露企业资料等。
  稳定性:有较好的防DDOS攻击的能力,保证系统在线率等。             

         

 

部署基础电子邮局系统

  单独的使用Postfix服务程序并不能让用户完成收发邮件的操作,因为一个基础的电子邮局系统至少需要有SMTP服务器、POP3/IMAP服务器

技术分享

配置本地主机名

[root@mail ~]# vim /etc/hostname 

mail.scott.com

增加A记录和MX记录

查看使用Bind搭建DNS服务

若要为用户提供scott的电子邮局系统,则需先在DNS服务器中增加A记录和MX记录:

  技术分享

修改本机的DNS地址

[root@mail ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
search scott.com
nameserver 192.168.0.85

 

配置Postfix服务程序

停止iptables防火墙:

systemctl disable iptables 

红帽RHEL7系统中默认已安装postfix邮局服务程序:

yum install postfix
Loaded plugins: langpacks, product-id, subscription-manager
rhel7 | 4.1 kB 00:00
(1/2): rhel7/group_gz | 134 kB 00:00
(2/2): rhel7/primary_db | 3.4 MB 00:00
Package 2:postfix-2.10.1-6.el7.x86_64 already installed and latest version
Nothing to do

 Postfix邮局服务程序的配置文件如下:

文件 作用
/usr/sbin/postfix 主服务程序
/etc/postfix/master.cf master主程序的配置文件。
/etc/postfix/main.cf postfix服务的配置文件。
/var/log/maillog 记录邮件传递过程的日志。

第1步:查看Postfix服务程序主配置文件:

编辑Postfix服务程序的主配置文件(修改5处参数,另外需要将参数前面的井号(#)去掉才可生效):

[root@mail~] # vim /etc/postfix/main.cf
//修改第76行的邮局主机名。
myhostname = mail.scott.com
//修改第83行的邮局域名。
mydomain = scott.com
//修改第99行的寄出邮件域名,$mydomain的值已在上面定义。
myorigin = $mydomain
//修改第116行的监听网卡。
inet_interfaces = all
//修改第164行的可接收邮件的主机名和域名。
mydestination = $myhostname, $mydomain

第2步:创建邮局帐号:

[root@mail~] # useradd boss
[root@mail~] # echo "123456" | passwd --stdin boss
Changing password for user boss. passwd: all authentication tokens updated successfully.

第3步:启动Postfix服务程序:

[root@mail~] # systemctl restart postfix
[root@mail~] # systemctl enable postfix
ln -s /usr/lib/systemd/system/postfix.service /etc/systemd/system/multi-user.target.wants/postfix.service

 现在我们来测试postfix是否可以发送邮件,如下:

技术分享

在qq邮箱中查看:

技术分享

 如果查收不到记得给该域加入QQ邮箱的白名单。

配置Dovecot服务程序

第1步:安装Dovecot服务程序:

[root@mail~] # yum install dovecot -y
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing: dovecot x86_64 1:2.2.10-4.el7 rhel7 3.2 M
Installing for dependencies: clucene-core x86_64 2.3.3.4-11.el7 rhel7 528 k
………………省略部分安装过程………………
Complete!

第2步:修改Dovecot程序主配置文件:

[root@mail~] # vim /etc/dovecot/dovecot.conf
//修改第24行的支持邮局协议。
protocols = imap pop3 lmtp
//然后追加允许明文认证(25行)。
disable_plaintext_auth = no
//修改第48行的允许登陆网段地址,全部允许即为(0.0.0.0/0)。
login_trusted_networks = 192.168.0.0/24

第3步:配置邮件的格式与存储路径。<
编辑dovecot的配置文件(将第25行的注释符(#号)去掉):

[root@mail~] # vim /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u

第4步:创建邮件的存储目录:

[root@mail~] # su - boss
Last login: Sat Aug 15 16:15:58 CST 2015 on pts/1
[boss@mail ~]$ mkdir -p mail/.imap/INBOX

第5步:启动Dovecot服务程序:

[root@mail~] # systemctl restart dovecot
[root@mail~] # systemctl enable dovecot
ln -s /usr/lib/systemd/system/dovecot.service /etc/systemd/system/multi-user.target.wants/dovecot.service

 

用户使用邮局系统

 修改客户机的DNS地址为本地的DNS服务器地址

技术分享

在Foxmail中登录boss用户

技术分享

 用该用户发一封邮件给root用户

技术分享

登录root用户,查收邮件:

root@mail ~]# mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
。。。。。。。。。。
>N  7 boss@scott.com        Thu Jan 19 17:41  44/1580  "测试"
 N  8 boss@scott.com        Thu Jan 19 17:51  46/1743  "测试邮件"
& 8
Message  8:
From boss@scott.com  Thu Jan 19 17:51:45 2017
Return-Path: <boss@scott.com>
X-Original-To: root@scott.com
Delivered-To: root@scott.com
Date: Thu, 19 Jan 2017 17:54:00 +0800
From: "boss@scott.com" <boss@scott.com>
To: root <root@scott.com>
Subject: 测试邮件
X-Priority: 3
X-Has-Attach: no
X-Mailer: Foxmail 7, 2, 7, 21[cn]
Content-Type: multipart/alternative;
    boundary="----=_001_NextPart160336538781_=----"
Status: R

Content-Type: text/plain;
    charset="GB2312"

如果收到这封邮件就代表邮局系统实验成功了。



boss@scott.com

 

 

 

 

 

 

 

 

                                                                                                                                                            

使用Postfix和Dovecot收发电子邮件