Docs
Telegram 邮件推送功能配置指南
Telegram 邮件推送功能配置指南
How to configure Telegram bot
功能概述
WR.DO 支持将接收到的邮件自动推送到 Telegram 群组或私聊中,让您能够实时收到邮件通知。支持自定义消息模板、多个聊天群组推送以及白名单过滤等功能。
相关配置位于 localhost:3000/admin/system
的 电子邮件配置中
。
配置参数说明
必需参数
系统参数名(请勿修改) | 类型 | 说明 |
---|---|---|
enable_tg_email_push | boolean | 是否启用 Telegram 推送功能 |
tg_email_bot_token | string | Telegram Bot Token |
tg_email_chat_id | string | 目标聊天 ID(支持多个,逗号分隔) |
可选参数
系统参数名(请勿修改) | 类型 | 说明 |
---|---|---|
tg_email_template | string | 自定义消息模板 |
tg_email_target_white_list | string | 邮件地址白名单(逗号分隔) |
第一步:创建 Telegram Bot
1. 与 BotFather 对话
- 在 Telegram 中搜索
@BotFather
- 发送
/start
开始对话 - 发送
/newbot
创建新机器人
2. 设置机器人信息
- 输入机器人的显示名称(例如:
Email Notifier
) - 输入机器人的用户名(必须以
bot
结尾,例如:my_email_bot
) - BotFather 会返回一个 Token,格式类似:
123456789:ABCdefGHIjklMNOpqrSTUvwxyz
第二步:获取聊天 ID
方法一:私聊获取
-
在 Telegram 中搜索您刚创建的机器人
-
发送
/start
或任意消息给机器人 -
打开浏览器,访问:
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates
将
<YOUR_BOT_TOKEN>
替换为您的实际 Token -
在返回的 JSON 中找到
"chat":{"id":123456789}
部分,这个数字就是您的聊天 ID
方法二:群组获取
- 将机器人添加到目标群组
- 在群组中发送任意消息 @ 您的机器人(例如:
@my_email_bot hello
) - 访问上述 API 链接
- 找到对应的群组聊天 ID(通常是负数,如:
-123456789
)
方法三:使用其他机器人
- 搜索
@userinfobot
或@chatidbot
- 发送消息获取聊天 ID
第三步:系统配置
打开 localhost:3000/admin/system
页面,点击 电子邮件配置
,填写对应的参数。
第四步:自定义消息模板
默认消息格式
如果不设置自定义模板,系统会使用以下默认格式:
📧 *New Email*
*From:* `发件人姓名 <邮箱地址>`
*To:* `收件人邮箱`
*Subject:* 邮件主题
*Date:* 发送日期
\`\`\`Content
邮件内容(前2000字符)
\`\`\`
自定义模板
您可以使用以下变量来自定义消息模板:
变量 | 说明 |
---|---|
{{from}} | 发件人信息 |
{{to}} | 收件人邮箱 |
{{subject}} | 邮件主题 |
{{text}} | 邮件文本内容 |
{{date}} | 发送日期 |
模板示例
🔔 收到新邮件\n\n发件人:{{from}}\n主题:{{subject}}\n时间:{{date}}\n\n内容:\n{{text}}
功能特性
1. 多聊天群组支持
- 支持同时向多个 Telegram 群组或私聊发送通知
- 使用逗号分隔多个聊天 ID
- 发送失败不会影响其他群组的推送
2. 白名单过滤
- 支持设置收件人邮箱白名单
- 只有白名单中的邮箱收到邮件时才会推送到 Telegram
- 如果不设置白名单,则推送所有邮件
3. 内容处理
- 自动去除 HTML 标签
- 内容超过 2000 字符时自动截断
- 支持 Markdown 格式显示
4. 错误处理
- 自动重试机制
- 详细的错误日志记录
- 部分发送失败不影响整体流程
故障排除
常见问题
-
机器人无法发送消息
- 检查 Bot Token 是否正确
- 确认机器人已被添加到目标群组
- 确认机器人在群组中有发送消息的权限
-
获取不到聊天 ID
- 确保已经向机器人发送过消息
- 检查 API 请求 URL 是否正确
- 尝试使用专门的机器人获取 ID
-
消息格式异常
- 检查自定义模板中的变量是否正确
- 确认 Markdown 语法没有错误
- 测试时可以先使用默认模板
-
部分群组收不到消息
- 检查聊天 ID 是否正确
- 确认机器人在对应群组中
- 查看服务器日志中的错误信息