iMail
项目介绍
iMail是一个基于go实现的信息获取和推送工具,支持邮件推送爬虫的结果。
可以通过爬虫爬取相应的信息, 例如视频的更新信息等, 汇总后统一通过邮件推送。
项目结构
.
├─cmd # 命令行工具
├─common # 工具包
├─data # 用户数据
└─server # 业务模块
├─catcher # 爬虫模块
├─manager # 管理器模块
└─messager # 消息推送模块
项目功能
- 信息获取(输入端)
- b站up视频更新
- rss订阅更新
- 信息推送(输出端)
- 电子邮件(smtp)
项目依赖
项目启动
- 下载项目代码
git clone https://github.com/Aj002Th/imail.git
- 安装第三方依赖
cd imail
go mod tidy
- 编写配置文件
- 在项目根目录创建 imail.yaml 文件
- 相关配置项可参考项目根目录下的配置文件模板 imail.yaml.example
- 后文也有对于配置文件的说明
- 启动项目
go build -o imail
./imail server
配置文件说明
global:
env: "debug" # debug | release 运行模式
catcher:
# 各类爬虫的配置
bilibiliVideo: #[bilibili视频更新爬取]的相关配置
source: "bilibili" #设置来源名称
target:
- uid: "uid001" #up主的uid
category: "开发" #设置信息分类
- uid: "uid002"
category: "经济学"
rssAdapter: #[rss适配器]的相关配置
target:
- url: "rss" #rss订阅链接
source: "博客" #设置来源名称
category: "开发" #设置信息分类
manager:
crontab: "0 19 * * *" #cron表达式, 控制爬虫爬取和消息推送的频率
immediate: true #是否在项目启动时立马执行一次爬虫和消息推送
ignoreEmptyMessage: true #当没有新消息时是否忽略空消息的推送
descriptionLengthLimit: 300 #推送消息中的描述文字的长度限制
messager:
email:
sender:
nickname: imailHelper #发件人昵称
host: smtp.qq.com #smtp服务器地址
port: 587 #smtp服务器端口
username: xxxx@xxx.com #smtp登录账号
password: password #smtp登录密码
receiver:
users: #收件人邮箱地址
- xxxx@xxx.com