一、postfix简介

  Postfix是一种电子邮件服务器,它是由任职于IBM华生研究中心,为了改良sendmail邮件服务器而产生的。最早在1990年代晚期出现,是一个开放源代码的软件。postfix的官网http://www.postfix.org,postfix的特点如下:

  • postfix是免费的:
    postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。
  • 更快:
    postfix在性能上大约比sendmail快三倍。一部运行postfix的台式PC每天可以收发上百万封邮件。
  • 兼容性好:
    postfix是sendmail兼容的,从而使sendmail用户可以很方便地迁移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。
  • 更健壮:
    postfix被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix会自动减少运行进程的数目。当处理的邮件数目增长时,postfix运行的进程不会跟着增加。
  • 更灵活:
    postfix是由超过一打的小程序组成的,每个程序完成特定的功能。你可以通过配置文件设置每个程序的运行参数。
  • 安全性
    postfix具有多层防御结构,可以有效地抵御恶意入侵者。如大多数的postfix程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。

二、postfix邮件服务器搭建步骤

  博文实验环境信息如下:

  • 操作系统:centos8.3
  • postfix:3.5.8
  • cyrus-imapd:3.0.7
  • cyrus-sasl:2.1.27

1、检查是否安装postfix

centos7很多版本默认安装了postfix,检查服务器上是否已安装。
[root@jiujiu ~]# rpm -q postfix
postfix-3.5.8-2.el8.x86_64

2、更新yum源

[root@jiujiu ~]# yum update

3、yum安装postfix

[root@jiujiu ~]# yum install -y postfix

Installed:
postfix-2:3.5.8-2.el8.x86_64

Complete!

4、查看当前邮件代理MTA

[root@jiujiu ~]# alternatives --display mta

Linux centos局域网邮件服务器配置及收发邮件测试邮件_postfix

5、编辑main.cf配置文件

[root@jiujiu postfix]# vim /etc/postfix/main.cf

myhostname = jiujiu  //将等号后面的部分改写为本机主机名  
mydomain = sun-site.com  //设置域名  
myorigin = $mydomain   //把$myhostname改为$mydomain  
inet_interfaces = all  //把后面的localhost改成all  
mydestination = $myhostname, localhost.$mydomain, localhost, mail.$mydomain, $mydomain //把前面的注释拿掉,并加一下$mydomain
home_mailbox = Maildir/  //设置邮件保存目录
mynetworks = 0.0.0.0/0 //设置内网和本地IP
local_recipient_maps =  //把前面的注释拿掉
relay_domains = $mydestination //设置任意主机都可以做转发
smtpd_banner = $myhostname ESMTP unknow //把前面的注释拿掉,然后把$mail_name ($mail_version)改成unknow  
  
#邮箱大小设置
message_size_limit = 10485760     //设置邮件大小为10M
mailbox_size_limit = 1073741824   //设置邮箱大小为1G
# SMTP认证 
smtpd_sasl_type = dovecot 
smtpd_sasl_path = private/auth 
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous 
smtpd_sasl_local_domain = $myhostname 
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

6、验证配置语法

[root@jiujiu postfix]# postfix check

7、安装dovecot收件服务

[root@jiujiu postfix]# yum install -y dovecot*

8、创建邮箱账户

#使用系统账户作为邮箱账户
[root@jiujiu conf.d]# useradd wuhs
[root@jiujiu conf.d]# passwd wuhs

9、配置10-auth.conf

[root@jiujiu conf.d]# pwd
/etc/dovecot/conf.d
[root@jiujiu conf.d]# vim 10-auth.conf

Linux centos局域网邮件服务器配置及收发邮件测试邮件_dovecot_02


Linux centos局域网邮件服务器配置及收发邮件测试邮件_邮件服务器_03

10、配置10-ssl.conf

[root@jiujiu conf.d]# vim 10-ssl.conf

Linux centos局域网邮件服务器配置及收发邮件测试邮件_dovecot_04

11、配置10-mail.conf

[root@jiujiu conf.d]# vim 10-mail.conf

Linux centos局域网邮件服务器配置及收发邮件测试邮件_dovecot_05

12、配置10-master.conf

[root@jiujiu conf.d]# vim 10-master.conf

Linux centos局域网邮件服务器配置及收发邮件测试邮件_dovecot_06

13、配置dovecot.conf

[root@jiujiu conf.d]# vim 10-master.conf

Linux centos局域网邮件服务器配置及收发邮件测试邮件_Linux服务器_07

14、启动dovecot服务

[root@jiujiu conf.d]# systemctl start dovecot

15、防火墙开放端口25/110/143或者关闭

[root@jiujiu postfix]# firewall-cmd --zone=public --add-port=25/tcp --permanent
success
[root@jiujiu postfix]# firewall-cmd --zone=public --add-port=110/tcp --permanent
success
[root@jiujiu postfix]# firewall-cmd --zone=public --add-port=143/tcp --permanent
success
[root@jiujiu postfix]# firewall-cmd --reload
success

16、将注册的域名配置地址解析

如果没有注册真实域名,可以自行搭建DNS服务器进行解析配置。

Linux centos局域网邮件服务器配置及收发邮件测试邮件_Linux服务器_08

17、使用foxmail登录邮箱验证

Linux centos局域网邮件服务器配置及收发邮件测试邮件_邮件服务器_09


Linux centos局域网邮件服务器配置及收发邮件测试邮件_sendmail_10

三、收发邮件测试

1、外发邮件测试

  • 使用测试邮箱发送邮件
  • Linux centos局域网邮件服务器配置及收发邮件测试邮件_邮件服务器_11

  • 登录收件邮箱查看是否收到邮件
  • Linux centos局域网邮件服务器配置及收发邮件测试邮件_邮件服务器_12

2、收取邮件测试

  • 使用qq邮箱回复一封邮件
  • Linux centos局域网邮件服务器配置及收发邮件测试邮件_邮件服务器_13

  • mailtest邮箱查看是否收到邮件
  • Linux centos局域网邮件服务器配置及收发邮件测试邮件_postfix_14

四、写在结尾

  至此postfix邮件服务器就搭建完成了,拥有一个自己的邮件服务器是不是很酷呀。这个邮件服务器仅仅是用于邮件搭建服务器测试。