起因
这段时间频频有佬友和我说收不到邮件,收不到VPS密码,我也很无奈,因为之前的邮箱托管在阿里云,人稍微一多,阿里云那边就限制发信频率了。
试过佬友推荐的 Hostbrr,发现自己太笨,没搞明白怎么样,思前想后,还是自建一个试一下吧。
过程
由于自己对这块也不熟悉,于是就想用现成的较为成熟的产品。宝塔要手机验证,弃了,选了国际版宝塔 aapanel,现在 aapanel居然也要邮箱验证了,还好只是邮箱验证,于是开干。
aapanel的安装当然不必说,直接执行命令即可。
安装完成后顺便安装一个 Nginx,Mysql,Php这些,因为后面的 webmail 会用到。
反正七七八八就是下面这些吧,mysql换了几个版本才装上,不知道是不是我机器不行。
安装完成后就是安装企业邮局了,aapanel主打一个傻瓜化,一路点 install & next 即可。
然后就是添加域名了
域名这里上面写根域名,下面是你的 mx 域名,也就是 smpt 和 pop 使用的域名。
添加完成后需要增加 DNS相关解析
这个自行去域名解析平台增加就可以了。
添加完成后,点一下下边的绿色按钮,校验一下 dns 记录是否正确 。
没问题的话可以顺手安装一下下边的 webmail。
其实安装到这里大体就完成了,但这时候基本用不了。
坑
发信使用 SSL/TLS
请使用 SSL/TLS ,这个时候需要给 website 里边的 mail.xxx.com 申请一个免费的SSL 证书了,同时记得增加到这里。
如果没有证书的时候,SSL 那个位置是 ADD SSL,把证书信息填入即可。
这里有一个问题,不知道是宝塔的还是我使用的问题。
它这里点进去也可以申请证书,是使用根域名来申请证书,但我邮件域名其实是 mail.nodeloc.com,也就是他申请的证书不是我需要的证书。所以这里我选择了最后的 Other,手动填入证书。
PTR
RDNS 一定要解析好,不然邮箱会被 Google 等拒收。
如果有多ip的时候要注意,postfix默认是使用所有可用的ip发信,但你的RDNS只有一个,这时候要被拒收了。
我是 1 ipv4 3 ipv6 ,我就把 inet_protocols = all
改成了inet_protocols = ipv4
Postfix 的 TLS 设置
如果没有Postfix的TLS你会发现一个奇怪的现象,只能发信,不能收信。
smtpd_tls_chain_files = /etc/ssl/private/ssl-cert-snakeoil.key,/etc/ssl/certs/ssl-cert-snakeoil.pem
tls_server_sni_maps = hash:/etc/postfix/vmail_ssl.map
smtpd_tls_cert_file = /www/server/panel/vhost/cert/mail.nodeloc.com/fullchain.pem
smtpd_tls_key_file = /www/server/panel/vhost/cert/mail.nodeloc.com/privkey.pem
smtpd_tls_security_level = may
smtpd_tls_loglevel = 1
smtp_tls_security_level = may
smtp_tls_loglevel = 1
我是这样加的,使用的是宝塔自动申请的SSL证书的路径,这样下次自动申请证书时,我也不需要手动去更新了。
总结
这个教程是安装完才写的,很多过程没有记录,有问题欢迎大家指教,我也是第一次自建邮箱,嘿嘿。