强烈推荐,一个内存占用极低的自建域名邮箱pmail | 您所在的位置:网站首页 › 怎么自建邮箱系统账号 › 强烈推荐,一个内存占用极低的自建域名邮箱pmail |
强烈推荐,一个内存占用极低的自建域名邮箱 Pmail 前言最近想自建一个域名邮箱,开源的邮箱服务内存占用太高,对于个人使用不太友好,接着找到一个由 Golang 编写的域名邮箱Pmail。 提示:文章篇幅较长 官方介绍: PMail是一个追求极简部署流程、极致资源占用的个人域名邮箱服务器。单文件运行,包含完整的收发邮件服务和Web端邮件管理功能。只需一台服务器、一个域名、一行代码、一分钟部署时间,你就能够搭建出一个自己的域名邮箱。 GitHub地址:https://github.com/Jinnrry/PMail/ 以下为界面截图 提示: 如果服务器80,443端口没有被占用,搭建过程则较为简单。如果80,443端口被其他应用占用,搭建过程则较为繁琐。 本次80,443端口被nginx proxy manager占用,所以采用映射其他端口搭建 本次教程采用docker-compose方式安装,方便管理配置文件和升级。其余方式请参考官方教程 在你喜欢的目录下,新建 pamail 文件夹,在 pamil文件夹下,新建 docker-compose.yml文件,如: mkdir -r ~/opt/pmail && cd ~/opt/pmail vim docker-compose.yml文件内容如下 version: '3.9' services: pmail: container_name: pmail image: 'ghcr.io/jinnrry/pmail:latest' volumes: - './config:/work/config' ports: - '465:465' - '8781:443' - '8780:80' - '25:25'根据配置文件可知: 开放的端口为 25,465,8780,8781 8780,8781号端口为映射的80,443端口,可自行修改。 挂载的配置文件在当前目录下的config目录 配置文件编写完成之后,在 docker-compose.yml 所在目录下,运行 sudo docker compose up接着会开启一个阻塞的前台进程,会打印日志信息,没有报错的话,服务则已经启动。 开放端口因为使用的云服务器,所以需要在云服务器管理面板,开放安全组,也就是端口,笔者使用的阿里云。 进入 ecs管理面板,在左侧选择 【安全组】,选择服务器对应的安全组。 接着【手动添加】 填写端口和可访问的ip范围。0.0.0.0即时所有ip都可访问。描述为备注信息。 保存后,安全组开放完成。 配置pmail网页访问 服务器的公网ip+端口,如本次教程为 http://ip:8780,ip为服务器的公网ip,在ecs管理面板 可以看到。 欢迎界面初次进入的页面如下: 下一步,选择数据库,建议默认即可。 继续下一步,设置pmail管理员密码 下一步,设置域名 下一步,设置DNS,将以下信息添加到dns解析处, 【DNS记录配置】 在上一步,需要将DNS记录添加到对应的域名。笔者使用的DNSPOD,点此跳转DNSPOD ,进入之后,按照提示添加记录即可 dns记录添加完成之后,回到pmail配置页面。继续配置证书。 这里选择手动配置ssl证书,如果服务器的80端口没有被占用,可以选择自动配置,当然,前面的docker-compose.yml端口信息也需要改成80,443。 为什么选择不用80,443端口呢?? 自动配置ssl需要用到80端口来验证服务器的所有权,所以自动配置ssl必须使用80端口。但是我的服务器安装了nginx proxy manger(简称npm) ,反代服务,一个web端的nginx工具,简化nginx配置,还可以一键生成ssl证书,我的服务器应用比较多,其他应用采用的都是子域名的方式访问。通过这种方式,简化的自己的工作、但是npm已经占用了80,443端口,所以80,443端口不可用。总不可能为了一个域名服务,让其他域名都不可用域名访问了吧。所以,将容器的80,443端口映射到了其他端口。 默认的证书位置在 ./config/ssl/private.key、./config/ssl/public.crt下,我们就把自己的ssl证书上传到 ./config/ssl下。 如果继续介绍npm申请ssl证书,这篇文章的篇幅就会过长。如果需要,到时候会另开文章介绍,这里就不多介绍了。也可自行搜索相关教程。 完成了这一步后,就基本完成了,不过还需要配置反向代理。 反向代理 dns记录进入 dnspod管理页面,新增dns记录,如下 进入npm管理页面,新增代理 点击 Add Proxy Host 编辑新增内容,按照如图所示编辑,打码的部分为服务的ip或者域名。 点击ssl ssl证书选择已经申请的,如果没有,这里不做介绍。 强制ssl开启,http2开启,如图: 最后点击save保存。到这反向代理也配置完成。 但是访问会出现 关闭前台进程,ctrl+c,关闭。 pmail的配置文件已经挂载到本地了,在 config/config.json下, 进入pmail文件夹,编辑 config.json cd ~/opt/pmail sudo vim config/config.json httpsEnabled 配置改成2sslType 改成1 启动pmail修改配置后,重新启动docker容器。 在 docker-compose.yml 所在目录下,运行 sudo docker up -d # -d 表示后台运行浏览器通过域名访问或者ip+端口访问即可 最终效果如下, 发送测试邮件给163邮箱 163邮箱 接收 大功告成!!! 总结搭建过程较为繁琐,需要的前置条件较多,但是,是值得的。 pmail界面相较于其他邮箱要差一些,没有多用户功能,实现了基本的收发功能。基本满足个人使用。 感谢作者的开源精神。 最后继续附上pmail的GitHub地址:https://github.com/Jinnrry/PMail/ |
CopyRight 2018-2019 实验室设备网 版权所有 |