81 lines
2.9 KiB
Markdown
81 lines
2.9 KiB
Markdown
# PMail
|
||
|
||
> Welcome PR! Welcome Issues! 目前代码并不稳定,一定记录好日志!丢信或者信件解析错误可以从日志中找出邮件原始内容!
|
||
|
||
PMail是一个追求极简部署流程、极致资源占用的个人域名邮箱服务器。单文件运行,包含完整的收发邮件服务和Web端邮件管理功能。只需一台服务器、一个域名、一行代码、一分钟部署时间,你就能够搭建出一个自己的域名邮箱。
|
||
|
||
目前项目UI设计比较丑陋、UI交互体验较差,欢迎各位UI、设计师、前端提出指导意见。最后,也为这个项目征集一个漂亮可爱的Logo!
|
||
|
||
<img src="./docs/cn.gif" alt="Editor" width="800px">
|
||
|
||
## 为什么写这个项目
|
||
|
||
迫于越来越多的邮件服务商暂停了针对个人的域名邮箱服务(比如QQ邮箱、微软Outlook邮箱),因此考虑自建域名邮箱服务。
|
||
但是自建域名邮箱可选的程序并不多,且目标都不是针对个人使用场景设计的。个人服务器一般内存、CPU、硬盘配置都不高,针对公司场景使用的邮箱程序过于臃肿,
|
||
白白浪费资源。就拿我自己的服务器来说,我服务器配置为1核512M 10G硬盘,市面上绝大多数邮箱服务器安装上就把磁盘占满了,根本没法正常使用
|
||
|
||
## 项目优势
|
||
|
||
### 1、部署简单
|
||
|
||
使用Go语言编写,支持跨平台,编译后单文件运行,单文件包含完整的前后端代码。修改配置文件,运行即可。
|
||
|
||
### 2、资源占用极小
|
||
|
||
编译后二进制文件仅15MB,运行过程中占用内存10M以内。
|
||
|
||
### 3、安全方面
|
||
|
||
支持dkim、spf校验。正确配置的情况下,Email Test得分10分。
|
||
|
||
### 4、自动SSL证书
|
||
|
||
实现了ACME协议,程序将自动获取并更新Let’s Encrypt证书。
|
||
|
||
## 其他
|
||
|
||
### 不足
|
||
|
||
1、目前只完成了最核心的收发邮件功能。基本上仅针对单人使用,没有处理多人使用、权限管理相关问题。
|
||
|
||
2、前端UI交互较差
|
||
|
||
# 如何部署
|
||
|
||
## 1、下载文件
|
||
|
||
[点击这里](https://github.com/Jinnrry/PMail/releases)下载一个与你匹配的程序文件。
|
||
|
||
## 2、运行
|
||
|
||
双击打开 OR 执行命令运行
|
||
|
||
## 3、配置
|
||
|
||
浏览器打开 `http://127.0.0.1` 或者是用你服务器公网IP访问,然后按提示配置
|
||
|
||
## 4、邮箱得分测试
|
||
|
||
建议找一下邮箱测试服务(比如[https://www.mail-tester.com/](https://www.mail-tester.com/))进行邮件得分检测,避免自己某些步骤漏配,导致发件进对方垃圾箱。
|
||
|
||
## 5、微信推送
|
||
|
||
打开运行目录下的 `config/config.json`文件,编辑 `weChatPush` 开头的几个配置项,重启服务即可。
|
||
|
||
# 参与开发
|
||
|
||
## 项目架构
|
||
|
||
1、前端: vue3+element-plus
|
||
|
||
前端代码位于`fe`目录中,运行参考`fe`目录中的README文件
|
||
|
||
2、后端: golang + mysql
|
||
|
||
后端代码进入`server`文件夹,运行`main.go`文件
|
||
|
||
## 插件开发
|
||
|
||
参考微信推送插件`server/hooks/wechat_push/wechat_push.go`
|
||
|