准备工作
1. 一台公网服务器(需要不被服务商限制发件收件的,也就是端口25、110、143、465、587、993、995不被限制),如有防火墙或安全组需要把这些端口开放
2. 一个域名,最好是com cn org的一级域名
3. 域名备案(如果服务器是国外的则不需要备案)
一、配置域名解析
1. 登录阿里云,找到云解析DNS
选择域名,如abc.com
①. 添加MX记录
- 记录类型:MX
- 主机记录:@
- 记录值:mail.abc.com
- MX优先级:1
②添加A记录
- 记录类型:A
- 主机记录:mail
- 记录值:服务器IP
- TTL:10分钟
③添加SPF记录
- 记录类型:TXT
- 主机记录:@
- 记录值:v=spf1 mx:mail.abc.com ip4:服务器IP -all
- TTL:10分钟
最后完成如下图
2. 安装并配置Postfix
① 安装过程中有选项需要选择,先选择1(No configuration),等下一步再单独配置
apt-get update sudo apt install -y postfix
② 安装完成,输入下面命令配置Postfix
sudo dpkg-reconfigure postfix
③ 将显示配置界面,选择 Internet Site ,然后分别输入或者选择以下值
mail.abc.com steve mail.abc.com, abc.com, localhost.localdomain, localhost no 127.0.0.0/8 0 + ipv4
④ 配置邮箱目录
sudo postconf -e 'home_mailbox = Maildir/'
⑤ 使用 SASL(Dovecot SASL)配置 Postfix 的 SMTP-AUTH,在终端提示符下运行这些命令
sudo postconf -e 'smtpd_sasl_type = dovecot' sudo postconf -e 'smtpd_sasl_path = private/auth' sudo postconf -e 'myhostname = mail.abc.com' sudo postconf -e 'smtpd_sasl_local_domain = $myhostname' sudo postconf -e 'smtpd_sasl_security_options = noanonymous,noplaintext' sudo postconf -e 'smtpd_sasl_tls_security_options = noanonymous' sudo postconf -e 'broken_sasl_auth_clients = yes' sudo postconf -e 'smtpd_sasl_auth_enable = yes' sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
⑥ 配置TLS(使用自签名证书)
[root@mail ~]# cd# 生成私钥 [root@mail ~]# openssl genrsa -des3 -out server.key 2048 Enter pass phrase: #输入密码 Verifying - Enter pass phrase: #重复输入密码#下面这个步骤是删除server.key中的密码 [root@mail ~]# openssl rsa -in server.key -out server