原文地址

系统安装

安装CentOS 7

修改hostname

hostname smtp.skywalker.com

修改/etc/hosts文件

安装postfix

首先移除centos默认的MTA,即sendmail

yum remove sendmail

安装postfix

yum install postfix

修改postfix的配置

  1. # 1. 修改myhostname
  2. myhostname = smtp.skywalker.com
  3. # 2. 修改域名,即邮箱地址`@`后面的部分
  4. mydomain= skywalker.com
  5. # 3. 去除myorigin的注释
  6. myorigin = $mydomain
  7. # 4. 将inet_interfaces设置为all
  8. inet_interfaces = all
  9. # 5. 修改mydestination
  10. mydestination = $myhostname, localhost.$mydomain, localhost
  11. # 6. 允许转发的域名
  12. relay_domains = $mydestination
  13. # 7. 修改mynetworks
  14. mynetworks = 192.168.1.0/28, 127.0.0.0/8
  15. # 8. 修改home_mailbox
  16. home_mailbox = Maildir/
  17. # 9. 修改smtpd_banner, 不显示SMTP服务器的相关信息
  18. smtpd_banner = $myhostname ESMTP unknow
  19. # 10. 使用SMTP认证
  20. smtpd_sasl_auth_enable = yes
  21. # 11. 指定SMTP认证的本地域名(主机名)
  22. smtpd_sasl_local_domain = $myhostname
  23. # 12. 不允许匿名的方式认证
  24. smtpd_sasl_security_options = noanonymous
  25. # 13. 接收者的规则
  26. smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
  27. # 14. 添加邮件最大尺寸15MB
  28. message_size_limit = 15728640

配置SMTP认证的相关选项

修改smtpd.conf

vim /etc/sasl2/smtpd.conf

  1. # 1. 将pwcheck_method的值从saslauthd改为auxprop
  2. pwcheck_method: auxprop

修改saslauthd

vim /etc/sysconfig/saslauthd

  1. # 1. MECH
  2. MECH=pam
  3. # 2. 修改FLAGS
  4. FLAGS=sasldb

添加用户邮箱目录

mkdir ~/Maildir chmod 700 ~/Maildir

为用户设置SMTP认证密码

saslpasswd2 -u smtp.skywalker.com -c skywalker Password: Again (for verification):

修改SASL的属性以及归属

chgrp postfix /etc/sasldb2 chmod 640 /etc/sasldb2

修改默认的mta

显示当前使用的mta

alternatives —display mta

如果显示结果为/usr/sbin/sendmail.postfix,则不需要修改

如果不是则使用下面的命令进行修改

alternatives —set mta /usr/sbin/sendmail.postfix

再次查看mta进行确认

alternatives —display mta

启动SMTP认证以及Postfix服务,并且设置为自启动

systemctl start saslauthd systemctl enable saslauthd

systemctl start postfix systemctl enable postfix

目前,基本的已经完成了,但是只能通过该服务器发送邮件。作为完整的邮件服务器,还需具备从客户端通过POP/IMAP协议接收邮件到本地的功能。

安装Dovecot

yum install -y dovecot

修改dovecot配置文件

vim /etc/dovecot.conf

  1. # 1. 修改protocals
  2. protocols = imap pop3

开启防火墙的端口

由于POP3协议与IMAP4协议分别需要用到110号和143号端口,所以在启动服务之前,需要配置防火墙,开通这两个端口。

vim /etc/sysconfig/iptables

  1. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT  ← 找到此行,接着添加如下两行:
  2. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT  ← 允许POP使用的110号端口
  3. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT  ← 允许IMAP使用的143号端口

启动Dovecot,并且设置为自启动

systemctl start dovecot systemctl enable dovecot