关于Poste.io自建邮箱
一直想着自己搭建一个个人邮箱,偶然间看到了Poste.io
这个开源的程序
正好写一下自己的安装历程
首先服务器25端口要是开通的状态哦,没开通的话就不用往下看了,国内大厂的一般都是关闭的,可以自己尝试是否可以发工单开通
判断25端口是否可用的方法telnet smtp.qq.com 25
,可用的话如下图所示
安装方法
- 这里推荐使用docker安装,安装步骤见Docker
- 安装好docker之后,拉取poste.io镜像,执行
docker pull analogic/poste.io
等待镜像拉取完毕,执行
docker run --name mailer -d --restart unless-stopped --hostname "YourDomaim" --publish 25:25 --publish 20080:80 --publish 20443:443 --publish 110:110 --publish 143:143 --publish 465:465 --publish 587:587 --publish 993:993 --publish 995:995 --publish 4910:4910 --env "TZ=Asia/Shanghai" --env "DISABLE_CLAMAV=TRUE" --env "DISABLE_RSPAMD=FALSE" --env "DISABLE_ROUNDCUBE=FALSE" --volume ./mailer:/data analogic/poste.io
- 如下图所示即为运行成功
解析你想做邮箱的域名,设置解析记录
A记录 - mail.yourDomain.com - YourIP CNAME记录 - smtp.yourDomain.com - mail.yourDomain.com CNAME记录 - imap.yourDomain.com - mail.yourDomain.com CNAME记录 - pop.yourDomain.com - mail.yourDomain.com MX记录 - yourDomain.com - mail.yourDomain.com SPF/TXT记录 - yourDomain.com - v=spf1 mx ~all DKIM/TXT记录 - 这里先省略,进管理后台生成后再添加
- 浏览器输入
https://YourIP:映射的443端口
例如我映射的20443端口
https://YourIP:20443
会进入以下页面
- 设置你的账号密码
进入管理后台
点击Virtual domains
点击后面的show
如下图所示
- 点击
create a new key
生成你的DKIM记录
如下图所示
解析你的DKIM记录,就是我们第五步先省略的那个记录
记得这里填你生成的,不要直接复制我这个
我下面这个只是示例DKIM/TXT记录 - s20231227927._domainkey - v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvnoPChB0AFEwfnpV/s9PLvBhc9sO1HK1Z2lxUpgoVU8gEgxMxEjjRhYERj6J/6G3Df3db1p72WVWsmza9hnKSSnA4syks5F0o/Y36FCcJ0/ba5go4oJnu8zPKMx0MXI9Plp1DZqMmvtE6jTcGZWl4evLp0kZn7neNcT6Jd0oWsxRt8BU8m7XUHvjd2kjq16HIva1uHbNOeJq7VmgTg2sOe0rMUKAxzymNWGnyt1uGOW7vAJP1b4ATKO6UzrSP3B3+AkZ9vrWmxdKm0sjfl+MnNcaUVPTEsBmd+ka+eyyfpqpBhkXqU0GCt8V2iqxWkExEj2t0lbolUrAfyDHHmN+NwIDAQAB
- 大概等一会,等待DNS解析生效
可以去https://poste.io/dkim
查询DKIM是否生效Enter domain to check DKIM:
填写你的域名YourDomain.com
DKIM selector:
填写刚才解析的DKIM值
例如我解析的s20231227927._domainkey
就填写s20231227927
,后面的._domainkey
不要
查询结果如下图所示的时候 ,就说明解析生效了
- 现在就已经完成了,可以正常使用了
需要注意的细节
- YourDomain需要替换成你的域名
- 80端口我这里映射的是20080,443映射的是20443,如个人有需求可修改为自己需要映射的端口
--volume ./mailer:/data
挂载的文件目录,用于持久化保存数据和备份,数据重要的话建议备份下mailer
文件夹- 解析时候的MX记录,假设你的邮箱格式为
admin@yourDomain.com
,就解析MX记录为@
,就是为你的主域名 - DKIM记录只要前面的
s20231227927._domainkey
,后面的域名不要加,记录值在复制原有的基础上在前面加一个v=DKIM1;
,如安装方法第九步所示 - 可以去
https://www.mail-tester.com/
查询你的邮件健康度,来判断是否会进垃圾箱
一般得分超过5就算正常,基本不会进垃圾箱 - 尽量不要用刚注册的域名,这样健康度会很低,容易进垃圾箱
至少注册时间要大于7天
有可能遇到的错误
这是说明mailer
名字已被占用,改一个名字就好
出现failed: port is already allocated.
的时候就是端口已被占用
使用sudo lsof -i :port
查询进程
例如上图显示4910端口被占用
使用sudo lsof -i :4910
查询被占用端口,如下图所示
使用kill -9 PID
例如上图的PID,
使用kill -9 519582
,kill -9 519589
杀掉进程后再重新执行安装方法
的第三步