前言
unRAID不像群晖那样有自己的MailServer和MailPlus应用,而且它们配置也极为简单方便,仅需再添加一条MX记录(ddns默认已有一条A记录)即可搞定解析问题。BTW,其实只要开放了相应的端口,然后启用你所添加的账户,不添加MX也是可以收发邮件的,只不过很有可能会被当作垃圾邮件而已 🙂
准备资源
- 域名:当然了,要想拥有自己的邮箱,那你首先得有自己的域名。这里推荐DNSPod,TXT/MX/CNAME等记录可以任意添加;花生壳的话限制较多,需要额外的开通费用。优点是服务比较即时周到,提交的工单问题会很快得到回应和解答,小白福音(我的第一个域名就是从这里开始滴)。
- 服务器:在服务器上搭建好docker环境,如果是群晖或unRAID,那就更省事了。
开始搭建
这里使用 Poste.io 来作为Mail Server,自带客户端,专注于安全(发送的邮件都经过特殊密钥加密)。有Free版和Pro版,Free版功能上基本够我们个人使用了。
docker命令
docker run -d --net="bridge" -p 50030:80 -p 51443:443 -p 25:25 -p 465:465 -p 110:110 -p 143:143 -p 587:587 -p 993:993 -p 995:995 --name "Posteio" -v /opt/posteio/data/:/data -v /etc/localtime:/etc/localtime:ro -h "livejq.xyz" -e "HTTPS=OFF" --restart=always analogic/poste.io
不指定时区默认跟宿主机器相同,使用桥接模式,映射相关容器端口,50030是Web访问端口,设置data存储位置,容器使用宿主机器时间,设置livejq.xyz
为邮件服务器的主机名,关掉HTTPS(因为我用NGINX代理做加密,默认是ON开启的)。
本人是在unRAID上面运行此条命令,仅做参考,根据所使用的场景自由增减。
MailServer配置
初始化管理员账户
添加你的域名(@后面的名字)
这表示你可以定义多个你自己的邮箱,只要都指向这个邮件服务器
为上面的域名生成DKIM密钥
例如:_s20378._domainkey.livejq.xyz IN TXT "k=rsa;p=MIIBIjANBgk......QAB"表示你需要添加一条TXT记录,
记录
为_s20378._domainkey,记录值
为双引号中的内容。
添加你的邮箱(定义@前面的名字)
注意:这里的用户名和密码是使用这个邮箱时所需要提供的凭证(例如:在第三方客户端上添加你的这个邮箱),刚才的管理员账户只是用来登录Web管理页面的。
配置解析
解析问题除了上面提到的DKIM
的TXT记录和默认必须存在的A记录以外,你还得添加MX
(Mail Exchanger)记录用来帮忙传递你的邮件。不过一般人也没有多余的服务器,通常由MailServer自己来搞定,所以MX同样指向A记录那个值 😋
Poste.io
还需要你设置一个SPF的TXT记录,记录值为spf1 mx〜all
,可以简单地告诉接收你邮件的服务器,哪些服务器有被授权传递你的邮件,这能够在一定程度上防止“中间人”的恶意篡改。DMARC也是TXT记录,可不添加,主要作用是汇报一些服务器信息,方便管理员查看。
解析汇总
@ A 123.456.789.123
@ MX cloud.livejq.xyz
cloud CNAME livejq.xyz
@ TXT spf1 mx〜all
_dmarc TXT v=DMARC1; p=none; rua=mailto:随便一个邮箱地址
_s20378._domainkey TXT k=rsa;p=MIIBIjANBgk......QAB
//以下可选,方便一些客户端配置
imap CNAME livejq.xyz
pop CNAME livejq.xyz
smtp CNAME livejq.xyz
评论区