项目简介
本项目是基于Go语言开发的邮件推送服务系统,提供简单、高效的邮件发送服务。借助Go语言的并发特性和gomail库,可并发处理多个邮件发送任务,同时具备灵活的邮件发送配置与简单的API接口,方便集成到其他系统。
项目的主要特性和功能
- 并发处理:支持并发处理多个邮件发送任务,提升邮件发送效率。
- 灵活配置:可配置多个邮件发送账号,每个账号能设置不同的邮件服务器地址、端口、用户名和密码。
- 简单API:提供简单的HTTP API接口,便于外部系统调用。
- 加密安全:运用AES加密技术对应用令牌加密,保障数据安全。
- 日志记录:记录邮件发送的日志信息,包含发送状态、错误信息等。
安装使用步骤
假设用户已下载本项目的源码文件,按以下步骤操作:
安装依赖
暂无依赖安装说明。
配置文件
将config.example.yaml
重命名为config.yaml
,并按需求设置系统配置和邮件配置信息,示例如下:
```yaml
system:
worker_number: 2 #单个账号的并发数
delay: 2s #每个协程队列的延时
max_queue_size: 100 #每个协程队列的最大值
key: 1234567890qwerft #AES秘钥key 长度为16/24/32位
emails: - address: example@example.com #邮箱地址 server: smtp.exmail.example.com #smtp服务器地址 port: 465 #端口号 password: example #密码 - address: example@example.com server: smtp.exmail.example.com port: 465 password: example ```
生成应用秘钥
使用以下命令生成应用秘钥:
bash
./email new -name=email -ip=127.0.0.1 -author=mohuishou
参数说明:
|参数|说明|
|:----:|:----:|
|name|应用名|
|ip|允许的来源地址|
|author|应用作者|
运行程序
使用以下命令启动邮件推送服务系统:
bash
./email -c=config.yaml -p=8080
参数说明:
|参数|说明|
|:----:|:----:|
|c|配置文件地址|
|p|端口号|
调用API
通过HTTP POST请求调用发送邮件的API:
uri: /
method: post
header: {
token: "rdytfugihnljvcdhrjtugkyhk32fdr7tifuyvh"
}
params: {
title: "Hello World!"
address: "1@lailin.xyz"
content: "<h1>Hello World</h1>"
}
参数说明:
|参数|说明|备注|
|:----:|:----:|:----:|
|token|签发的应用token|必须|
|title|邮件主题|必须|
|address|邮件地址|必须|
|content|邮件内容|必须|
返回结果示例:
json
{
"status": 0,
"msg": "地址 必须!",
"data": ""
}
返回参数说明:
|参数|说明|备注|
|:----:|:----:|:----:|
|status|状态|0:失败,1:成功|
|msg|提示信息||
|data|数据信息|暂未使用|
注意事项
- 运行程序前,确保已正确配置
config.yaml
文件。 - 使用API接口时,需提供正确的应用令牌(token)。
- 系统使用AES加密技术,需妥善保管加密密钥。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】