























有许多服务(如 ddnsgo)仅支持 Webhook 通知,不支持设置邮箱(SMTP)服务进行通知。
本文介绍的这个可本地部署的服务就是用于将 Webhook 转换成邮箱通知。
本文重在教学如何快速部署,快速体验。
下面列出此项目相关的链接:
进入 Releases 页面,找到最新版本,从 Assets 栏下下载最新二进制文件。点我直接下载 webhook-email-sender.exe v1.0.0
将下载完毕的 webhook-email-sender.exe 放置到任意目录中,双击 webhook-email-sender.exe 会在运行目录下生成默认配置文件 config.json
修改 config.json 以正确配置
{
"SMTP_SERVER": "smtp.example.com",
"SMTP_PORT": 587,
"SMTP_TLS": false,
"SMTP_USERNAME": "your_username",
"SMTP_PASSWORD_ENV": "SMTP_PASSWORD",
"SMTP_PASSWORD": "your_password",
"SERVICE_HOST": "127.0.0.1",
"SERVICE_PORT": 5000,
"SERVICE_PATH": "/webhook",
"SERVICE_TOKEN": ""
}
解释:程序会先读取配置文件 SMTP_PASSWORD_ENV 项所指定的环境变量,如果指定的环境变量未设置,则会读取配置文件的 SMTP_PASSWORD 项作为密码。
注意: 为了安全起见,不要将 config.json 传到公共代码仓库。
提示:如果发送邮件失败,请尝试SMTP_PORT分别为 587、465,对应SMTP_TLS分别为false、true,的组合
运行 webhook-email-sender.exe
新开一个终端窗口输入 Invoke-WebRequest -Uri "http://localhost:5000/webhook?subject=测试邮件&to=recipient@example.com&body=这是测试邮件内容" -Method GET 测试是否部署成功(recipient@example.com 修改为你的实际接收邮箱)
快速部署流程已结束,完整文档请看:文档链接
克隆仓库
git clone https://github.com/HowieHz/webhook-email-sender.git
cd webhook-email-sender
创建并激活虚拟环境
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
安装依赖
pip install -r requirements.txt
初次启动服务,会在运行目录下生成:
python main.py
修改生成的 config.json 以正确配置
{
"SMTP_SERVER": "smtp.example.com",
"SMTP_PORT": 587,
"SMTP_TLS": false,
"SMTP_USERNAME": "your_username",
"SMTP_PASSWORD_ENV": "SMTP_PASSWORD",
"SMTP_PASSWORD": "your_password",
"SERVICE_HOST": "127.0.0.1",
"SERVICE_PORT": 5000,
"SERVICE_PATH": "/webhook",
"SERVICE_TOKEN": ""
}
解释:程序会先读取配置文件 SMTP_PASSWORD_ENV 项所指定的环境变量,如果指定的环境变量未设置,则会读取配置文件的 SMTP_PASSWORD 项作为密码。
注意: 为了安全起见,不要将 config.json 传到公共代码仓库。
提示:如果发送邮件失败,请尝试SMTP_PORT分别为 587、465,对应SMTP_TLS分别为false、true,的组合
正式启动服务:
python main.py
新开一个终端窗口输入以下指令测试是否部署成功 (recipient@example.com 修改为你的实际接收邮箱)
curl "http://localhost:5000/webhook?subject=测试邮件&body=这是测试邮件内容&to=recipient@example.com"
快速部署流程已结束,完整文档请看:文档链接
欢迎在评论区讨论,
评论区验证码为简单的 100 以内算术题。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。