linux-运维进阶-20 Postfix与Dovecot部署邮件系统
linux-运维进阶-20 Postfix与Dovecot部署邮件系统
实验环境配置,Centos7虚拟机两台:
Test(192.168.141.12):提供DNS服务
client2(192.168.141.53):提供postfix和dovecot服务
测试用的是咱们的物理机
概念解析
电子邮件
电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有下面这些。
• 简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)
用于发送和中转 4000 发出 的电子邮件,占用服务器的25/TCP端口。
• 邮局协议版本3(Post Office Protocol 3)
用于将电子邮件存储到本地主机,占用服 务器的110/TCP端口。
• Internet消息访问协议版本4(Internet Message Access Protocol 4)
用于在本地 主机上访问邮件,占用服务器的143/TCP端口。
Postfix
Postfix是一种电子邮件服务器,它是由任职于IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的。最早在1990年代晚期出现,是一个开放源代码的软件。
dovecot
Dovecot 是一个开源的 IMAP 和 POP3 邮件服务器,支持 Linux/Unix 系统。Dovecot 是一个比较新的软件,由 Timo Sirainen 开发,最初发布于 2002年7月。作者将安全性考虑在第一,所以 Dovecot 在安全性方面比较出众。另外,Dovecot 支持多种认证方式,所以在功能方面也比较符合一般的应用。
Test(192.168.141.12):提供DNS服务
这里几乎和上篇文章中所做一模一样,但是毕竟是新的一片文章,所以我们重新做一遍,也好顺便复习上篇文章中敲过的命令。
Test安装DNS服务软件包
[root@localhost ~]# yum install bind bind-chroot bind-utils -y
修改主配置文件
[root@localhost ~]# vim /etc/named.conf 将 listen-on port 53那行改为any,将listen-on-v6那行备注掉,将 allow-query 的由localhost改为any即可 options { listen-on port 53 { any; }; # listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; }; 保存退出
正向区域解析区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones 在最后面加上一段: zone "feng.io" IN { type master; file "feng.io.zone"; allow-update { none; }; }; 保存退出
配置正向解析数据文件
[root@localhost ~]# cd /var/named/ [root@localhost named]# cp -a named.localhost feng.io.zone [root@localhost named]# vim feng.io.zone $TTL 1D @ IN SOA feng.io. root.feng.io. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.feng.io. ns IN A 192.168.141.12 A 192.168.141.53 IN MX 10 mail.feng.io. mail IN A 192.168.141.53 保存退出
防火墙放行服务
[root@localhost named]# firewall-cmd --add-service=dns --permanent success [root@localhost named]# firewall-cmd --reload success [root@localhost named]#
修改反向解析区域配置文件
[root@localhost named]# vim /etc/named.rfc1912.zones 在尾部加入: zone "141.168.192.in-addr.arpa" IN { type master; file "192.168.141.arpa"; allow-update { none; }; }; 保存退出
反向区域解析数据文件
[root@localhost named]# cp feng.io.zone 192.168.141.arpa [root@localhost named]# vim 192.168.141.arpa $TTL 1D @ IN SOA feng.io. root.feng.io. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.feng.io. A 192.168.141.53 53 PTR feng.io. 12 PTR ns.feng.io. 53 PTR mail.feng.io. 保存退出,重启named服务 [root@localhost named]# systemctl restart named
client2(192.168.141.53):提供postfix和dovecot服务
配置主机域名,需要保证服务器主机名称与发信域名保持一致:
[root@localhost ~]# hostnamectl set-hostname mail.feng.io [root@localhost ~]# hostname mail.feng.io [root@localhost ~]#
修改dns配置
[root@localhost ~]# vi /etc/resolv.conf # Generated by NetworkManager search localdomain feng.io nameserver 192.168.141.12 nameserver 114.114.114.114 保存退出
检查dns服务
[root@localhost ~]# nslookup > 192.168.141.12 Server: 192.168.141.12 Address: 192.168.141.12#53 12.141.168.192.in-addr.arpa name = ns.feng.io. > mail.feng.io Server: 192.168.141.12 Address: 192.168.141.12#53 Name: mail.feng.io Address: 192.168.141.53 > 192.168.141.53 Server: 192.168.141.12 Address: 192.168.141.12#53 53.141.168.192.in-addr.arpa name = feng.io. 53.141.168.192.in-addr.arpa name = mail.feng.io. > exit [root@localhost ~]#
可以看出,dns服务正常,正反向解析都成功了。
安装邮件服务器需要的软件包
[root@localhost ~]# yum install postfix dovecot -y
配置postfix服务
参数 | 作用 |
---|---|
myhostname | 邮局系统的主机名 |
mydomain | 邮局系统的域名 |
myorigin | 从本机发出邮件的域名名称 |
inet_interfaces | 监听的网卡接口 |
mydestination | 可接收邮件的主机名或域名 |
mynetworks | 设置可转发哪些主机的邮件 |
relay_domains | 设置可转发哪些网域的邮件 |
[root@localhost ~]# vi /etc/postfix/main.cf 修改为以下内容,记得原来那行的备注符号#号不要忘了去掉! 76行: myhostname = mail.feng.io 83行: mydomain = feng.io 99行: myorigin = $mydomain 116行: inet_interfaces = all 164行: mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 179行: local_recipient_maps = 保存退出
Postfix与vsftpd服务程序一样,都可以调用本地系统的账户和密码,因此在本地系统创建常规账户即可。最后重启配置妥当的postfix服务程序,并将其添加到开机启动项中
[root@localhost ~]# useradd aaa [root@localhost ~]# echo "123456" | passwd --stdin aaa 更改用户 aaa 的密码 。 passwd:所有的身份验证令牌已经成功更新。 [root@localhost ~]# systemctl restart postfix [root@localhost ~]# systemctl enable postfix [root@localhost ~]#
配置dovecot服务
修改配置文件
[root@localhost ~]# vi /etc/dovecot/dovecot.conf 将第24行改为: protocols = imap pop3 lmtp 其实也就是去掉了备注而已 注意:如果想允许所有人都能使用,则不用修改下面的参数,反正这次实验我是没去改 如果想要仅仅允许192.168.141.0/24网段的用户使用dovecot服务,则将第48行改为: login_trusted_networks = 192.168.141.0/24 保存退出
允许明文传输内容
[root@localhost ~]# vi /etc/dovecot/conf.d/10-auth.conf 修改为以下内容,记得原来那行的备注符号#号不要忘了去掉! 第10行: disable_plaintext_auth = no 第100行: auth_mechanisms = plain login 保存退出
取消SSL
[root@localhost ~]# vi /etc/dovecot/conf.d/10-ssl.conf 修改为以下内容 第8行: ssl = no 将14、15行都备注掉 第14行: #ssl_cert = </etc/pki/dovecot/certs/dovecot.pem 第15行: #ssl_key = </etc/pki/dovecot/private/dovecot.pem 保存退出
设置收件箱
[root@localhost ~]# vi /etc/dovecot/conf.d/10-mail.conf 将第25行改为: mail_location = mbox:~/mail:INBOX=/var/mail/%u 其实也就是去掉备注而已 保存退出
然后切换到配置Postfix服务程序时创建的eagle账户,并在家目录中建立用于保存邮件的目录。记得要重启Dovecot服务并将其添加到开机启动项中。至此,对Dovecot服务程序的配置部署步骤全部结束。
[root@localhost ~]# su - aaa [aaa@mail ~]$ mkdir -p mail/.imap/INBOX [aaa@mail ~]$ exit 登出 [root@localhost ~]# systemctl restart dovecot [root@localhost ~]# systemctl enable dovecot Created symlink from /etc/systemd/system/multi-user.target.wants/dovecot.service to /usr/lib/systemd/system/dovecot.service. [root@localhost ~]#
设置邮件服务的防火墙放行
[root@localhost ~]# firewall-cmd --add-port={25,110,143}/tcp --permanent success [root@localhost ~]# firewall-cmd --reload success [root@localhost ~]#
在本篇文章开始那里,常见的邮件协议介绍的三种协议的端口号分别便是25,110,143,均放行。
在windows上用foxmail客户端测试邮件服务
修改window上的dns地址,如下图:
使用foxmail测试邮件服务器是否成功,如下图:
安装完成后打开,选择手动设置,然后如下图:
发送邮件给咱们的client2那台虚拟机的root用户,看看它能不能收到。
首先在client2上安装相关工具包
[root@localhost ~]# yum install mailx sendmail -y 装好后,先敲mail命令,然后直接回车即可 [root@localhost ~]# mail Heirloom Mail version 12.5 7/5/10. Type ? for help. "/var/spool/mail/root": 1 message 1 new >N 1 aaa@feng.io Sun Feb 3 19:07 52/2158 "HelloMail" & Message 1: From aaa@feng.io Sun Feb 3 19:07:47 2019 Return-Path: <aaa@feng.io> X-Original-To: root@feng.io Delivered-To: root@feng.io Date: Sun, 3 Feb 2019 19:07:45 +0800 From: "aaa@feng.io" <aaa@feng.io> To: root <root@feng.io> Subject: HelloMail X-Priority: 3 X-Has-Attach: no X-Mailer: Foxmail 7.2.9.156[cn] Content-Type: multipart/alternative; boundary="----=_001_NextPart407851228804_=----" Status: R Content-Type: text/plain; charset="GB2312" 当您收到这封邮件时,证明我的邮局系统实验已经成功! aaa@feng.io &
可以看到,它的确收到了邮件了,说明咱们的配置成功了!
至于linux端发邮件给windows,写起来比较麻烦,也不好解释怎么操作,有兴趣的朋友可以自行网上学习,最好是视频形式的教程,那样才听得明白。
题外话
上面咱们用到的那款软件Foxmail中文名是狐邮,正是在最近热播的电视剧《创业时代》里面的罗维开发的软件,这剧真的挺好看的,主演黄轩演的真的不错,喜欢的朋友们可以去追一追这部剧。
本篇到此结束。
- 使用Postfix与Dovecot部署邮件系统
- Linux系统postfix邮件部署
- Linux+postfix+extmail+dovecot打造基于web页面的邮件系统
- Linux+postfix+extmail+dovecot打造基于web页面的邮件系统
- linux-postfix.dovecot邮件系统
- linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(一)-系统账户登陆收发邮件
- 部署Postfix+MySQL+Dovecot+Postfixadmin+Extmail邮件系统(一)
- 部署Postfix+MySQL+Dovecot+Postfixadmin+Extmail邮件系统(二)
- 部署Postfix+MySQL+Dovecot+Postfixadmin+Extmail邮件系统(三)
- 使用Postfix与Dovecot部署邮件系统
- linux运维-dovecot+postfix和空壳邮件
- RedHat6下使用Postfix与Dovecot部署基础的邮件系统
- linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(三) 使用 maildrop 投递邮件
- Postfix+Dovecot+LAMP+Extmail搭建web邮件系统(一)
- RHEL6 Postfix+Dovecot邮件系统配置指南
- RHEL 5服务篇—部署Postfix邮件系统(三)构建web邮件系统
- linux下搭建基于mysql虚拟用户的Postfix邮件系统
- Linux运维笔记-文档总结-postfix+mysql+dovecot
- 邮件系统之Postfix与Dovecot
- 基于Linux和Postfix的邮件系统的web mail安装手册