首页 > 代码库 > 使用Postfix和Dovecot收发电子邮件
使用Postfix和Dovecot收发电子邮件
邮件应用协议包括:
- 简单邮件传输协议(SMTP),用来发送或中转发出的电子邮件,占用tcp 25端口。
- 第三版邮局协议(POP3),用于将服务器上把邮件存储到本地主机,占用tcp 110端口。
- 第四版互联网信息访问协议(IMAP4),用于在本地主机上访问邮件,占用tcp 143端口。
搭建企业级的电子邮件系统,请考虑下面几点:
部署基础电子邮局系统
单独的使用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收发电子邮件