lala.im:使用Poste.io自建邮件服务器

運維技術·lala.im · 2018-09-23 · 157 人浏览

原文地址:https://lala.im/4213.html,請支持原作者!該處僅作轉載。

Poste.io和之前介绍到的Mailcow/Mailu一样,也是基于Docker的,但是不支持使用docker-compose管理,所以运行的时候启动命令会有很长一串,不是特别方便。另外这个玩意分FREE和PRO版本,FREE版本的功能足够个人使用,但是功能上面就没有Mailcow/Mailu多了。
Poste.io的发信成功率方面和Mailcow/Mailu也一样,Email-Tester测试也是8.1分,发QQ邮箱550限制,但是发Gmail不会进垃圾箱。
要说Poste.io的优点,那么我个人认为是它的管理界面一目了然,使用起来不会像Mailcow/Mailu那样摸不着头脑。
写个小预告:这篇文章写完后,后续应该还会有两篇关于邮箱方面的文章。
以下部署过程中,假设你的域名是example.com
先添加几个最基本的DNS解析:
1.Type:A/NAME:mail/Value:VPSIP
2.Type:MX/NAME:@/Value:mail.example.com
3.Type:TXT/NAME:@/Value:v=spf1 mx ~all
4.Type:TXT/NAME:_dmarc/Value:v=DMARC1; p=none; rua=mailto:[email protected]
注:其中mailto:[email protected]修改成你的一个可以正常接收邮件的邮箱。
系统CentOS7X64,先把系统本地时区改成东八区:

timedatectl set-timezone Asia/Shanghai

如果你的机器本地时间不对,此时你应该设置同步:

yum -y install chrony
systemctl start chronyd
systemctl enable chronyd

然后安装Docker:

cd
yum -y install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.06.1.ce-3.el7.x86_64.rpm
systemctl start docker
systemctl enable docker.service

完事之后启动:

docker run \
    -p 25:25 \
    -p 80:80 \
    -p 110:110 \
    -p 143:143 \
    -p 443:443 \
    -p 587:587 \
    -p 993:993 \
    -p 995:995 \
    -v /etc/localtime:/etc/localtime:ro \
    -v /opt/poste/data:/data \
    --name "sometimesnaive" \
    -h "mail.example.com" \
    -t analogic/poste.io

注:
1./opt/poste是我部署的时候数据存储路径,可根据你的需要自行更改。\n2.sometimesnaive是应用名字,自由发挥。\n3.mail.example.com这个应该修改成你的邮件服务器地址。
运行成功之后,打开mail.example.com,会有如下界面,在这里创建你的管理员账号:

範例
登录进去之后,第一件事是配置SSL,因为Poste.io强制SSL,但是正好在后台又有一键部署SSL的功能,所以先操作一下:

範例
点击Enabled,然后保存即可,稍等片刻SSL应该就配置好了:

範例
第二件事是补充DNS解析记录,前面我们做的解析记录并不足以让我们的邮件能够顺利到达对方的收件箱,在这里我们还要添加一个DKIM记录,首先按如下图操作:

範例
在这里选择1024bit,然后创建DKIM key:

範例
然后按照要求把生成的DKIM key解析下就行了。
然后你就可以开始收发信件了,Poste.io使用的webmail是roundcube。之前说过发QQ邮箱完美550拒绝:

範例
发Gmail竟然能进收件箱:

範例
有点难受,试用了Mailcow/Mailu/Poste.io感觉都是水货,打扰了。。。

運維技術 Email lala.im
Theme Jasmine by Kent Liao