WebHook功能介绍
当点击生成Excel的时候,当sql数据库备份发生的时候 server容器会将这几个文件发送到WebHook容器中,你可以自己编写python文件来处理这些文件,比如发送邮件,保存到指定目录等操作 我预先内置了一套发送Email的脚本,一套保存文件到本地的脚本,使用者可以根据自己的需求进行修改
Compose内容
webhook:
image: registry.cn-beijing.aliyuncs.com/easy_accounts/easyaccounts-webhook:latest #此处使用阿里云镜像
container_name: easy_accounts_webhook
restart: always
ports:
- "10671:8083"
volumes:
- ./WebHook:/app/
#- ./WebHook/webhook.py:/app/webhook.py #如果要自行处理文件,则取消这行注释,映射该文件,则下方的环境变量无效
- ./WebHook/webhook-email.py:/app/webhook.py #如需修改发送邮件服务,请解开此行注释
environment:
- LOG_FILE=/app/hook.log
- SEND_SQL_BACKUP=True # 是否发送SQL备份文件,默认True
- SEND_EXCEL=True # 是否发送Excel文件,默认True
# -------------------以下为发送邮件服务的环境变量-------------------
- SMTP_SERVER= # SMTP服务器地址
- SMTP_PORT= # SMTP端口
- SMTP_MAIL= # 发件人邮箱,一般来说是SMTP账号,例如自己的QQ邮箱
- SMTP_PASSWORD= # SMTP密码,一般来说是SMTP账号的授权码,需要自己去自己的邮箱中找到设置
- SMTP_TO_LIST= # 收件人邮箱列表,用逗号分隔
networks:
- easy_accounts_net
WebHook使用说明
WebHook功能需要在EasyAccounts项目中启动,启动后会监听
10671
端口WebHook 有两个具体实现的功能类,分别是:
webhook.py
webhook-email.py
webhook.py
此类的主要功能是提供一个示例,用于展示如何使用WebHook功能,提供了一个保存文件的工具类,并未实现具体发送功能。
webhook-email.py
默认使用的是该文件进行的发送邮件 此类是发送邮件的具体实现,使用了email
模块,需要配置邮件服务器的相关信息。
在 docker-compose.yml 中配置了邮件服务器的相关信息,如下:
environment:
- LOG_FILE=/app/hook.log
- SEND_SQL_BACKUP=True # 是否发送SQL备份文件,默认True
- SEND_EXCEL=True # 是否发送Excel文件,默认True
# -------------------以下为发送邮件服务的环境变量-------------------
- SMTP_SERVER= # SMTP服务器地址
- SMTP_PORT= # SMTP端口
- SMTP_MAIL= # 发件人邮箱,一般来说是SMTP账号,例如自己的QQ邮箱
- SMTP_PASSWORD= # SMTP密码,一般来说是SMTP账号的授权码,需要自己去自己的邮箱中找到设置
- SMTP_TO_LIST= # 收件人邮箱列表,用逗号分隔
发送邮件的协议为SMTP,暂不支持别的协议,需要配置SMTP服务器的相关信息,不同的邮件供应商有不同的SMTP服务器地址和端口,例如QQ邮箱的SMTP服务器地址为smtp.qq.com
,端口为587
。
如果想使用不同的供应商,需要自行去自己的邮箱找对应的配置信息。
例如QQ邮箱:
Outlook邮箱:
目前测试通过的邮件服务商有:
QQ邮箱
outlook邮箱
使用方法
在
docker-compose.yml
或者docker-compose-chinese.yml
中配置WebHook配置项启动EasyAccounts项目
自定义开发
解开docker-compose.yml
中的注释,将webhook.py
或者webhook-email.py
映射到容器中,即可自定义开发。
volumes:
- ./WebHook:/app/
#- ./WebHook/webhook.py:/app/webhook.py #如果要自行处理文件,则取消这行注释,映射该文件,则下方的环境变量无效
- ./WebHook/webhook-email.py:/app/webhook.py #如需修改发送邮件服务,请解开此行注释
开发注意事项: Docker容器内的环境包只有如下内容:
fastapi==0.111.0
pydantic==2.7.1
Requests==2.32.2
如果想增加包,请到EasyAccountOpenSource中的WebHook中重新构建镜像
日志查看
日志文件默认保存在WebHook/hook.log
中。
注意事项
邮箱端口请使用TLS加密端口,不支持SSL加密。
日志文件默认保存在/app/hook.log
中,可以通过LOG_FILE
环境变量进行修改。
Last updated