自建邮件服务器 post.io

发布时间 2023-03-31 14:47:53作者: 中亿丰数字科技

搭建服务

所选服务器的官网:https://poste.io/

用docker安装吧,别去折腾了。

docker run -d \
-p 880:80 -p 8443:443 -p 25:25 -p 110:110 -p 143:143 -p 465:465 -p 587:587 -p 993:993 -p 995:995 -p 4190:4190 \
-e TZ=Asia/Shanghai \
-v /data/mail-data:/data \
--name "mailserver" \
-h "abble.top" \
--restart=always \
-t analogic/poste.io

安装过后,访问地址:https://IP:8443/ ,笔者试了880不行。为了安全性,肯定不能用880,所以在这一点上没有纠结了。在8443端口上完成初始化设置。

对它里面的ssl加密,还是有纠结的,后面有时间进一步完善。

基础业务接口

安装过后,可以访问它的接口文档。笔者全部试了一下,除了接口返回值不理想之外,其它还好,可以做正常处理。

不过这是基础业务, 比如加后缀"zyf.top", "abble.top"等,创建、修改、删除用户等,当然还有别的,目前笔者能用到的暂时以上几点。

需要强调的是,这是基础业务接口,凡是邮箱里面的所有东西,都不是通过这些接口进行的。比如收发邮件等。

网页访问或者客户端访问

服务搭好后,通过网页端http的443端口访问即可。post.io会有个创建账号的安装过程,譬如账号密码啥的,按着安装程序傻瓜式安装;如果是iRedMail, docker安装的时候,这个在配置文件里配置(iRedMail的默认账号是:postmaster@mydomain.com,密码在配置文件里面)。

无论是post.io 还是 iRedMail,只是一个三方开源。或者说,只是一串代码,并没有改变邮件服务的本质性东西。只能说是在邮件服务基础上的包装。

所以,服务是固定的。服务提供了默认账号,收发服务器ip或域名,端口。根据服务的ip,端口等,客户端可以app,桌面软件,浏览器。

foxmail连接邮件服务即是如此。

当然也可以是代码,自己写后端代码借助邮件服务器实现这些业务逻辑。

代码连接实现业务

这是细节了,从架构的角度,暂时不做分析。无论是java、golang还是PHP、Python, 想必都有类似的库。

也只有在调用这些库的时候,才能进一步分析邮件服务器,看看它是怎么处理邮件的。这在后面会单独写一篇文章说明。

关于邮件和站内信的强调

邮件和站内信是两个东西,不能相互替代。各自在自己适合的场景下,起到不可或缺的作用。相互替代,后期会有繁杂的工作量,运营维护成本很高。

补充

在正式服务器安装·post.io·的时候,docker下载安装的时候总是报关于iptable的错,换了个源就好了。

作者:鲍丙军