Smail/README_CN.md
2023-08-12 13:15:55 +08:00

81 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`