mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-06-08 17:10:41 +08:00
docs: add webhook preset templates and Telegram push docs (#884)
docs: add webhook preset templates and Telegram per-user push docs (#769) Add Telegram Bot, WeChat Work, Discord webhook preset templates to frontend and documentation. Add per-user mail push and global push documentation for Telegram Bot. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -55,6 +55,31 @@ You need to configure `TG_ALLOW_USER_LANG = true` in worker variables to enable
|
||||
|
||||
Language preferences are saved to KV, and each user can set their preference independently.
|
||||
|
||||
## Per-User Mail Push
|
||||
|
||||
Telegram Bot supports **per-user push notifications**. After a user binds an address, emails received at that address are automatically pushed to the corresponding user.
|
||||
|
||||
### User Workflow
|
||||
|
||||
1. Find your deployed Bot in Telegram
|
||||
2. Use `/new [name@domain]` to create a new address, or `/bind <credential>` to bind an existing address
|
||||
3. Once bound, you will **automatically receive push notifications** when the address receives mail
|
||||
4. Use `/address` to view your bound addresses
|
||||
5. Use `/unbind <address>` to unbind an address
|
||||
|
||||
> [!TIP]
|
||||
> Each user can bind up to `TG_MAX_ADDRESS` (default 5) addresses
|
||||
|
||||
### Global Push
|
||||
|
||||
Admins can enable **global mail push** in the admin panel under `Settings` -> `Telegram`, pushing all emails to a specified list of Telegram user IDs.
|
||||
|
||||
- `enableGlobalMailPush`: Enable global push
|
||||
- `globalMailPushList`: List of Telegram user IDs to receive global push
|
||||
|
||||
> [!NOTE]
|
||||
> Global push and per-user push can work simultaneously. If an address is bound to a user who is also in the global push list, they will receive two notifications.
|
||||
|
||||
## Mini App
|
||||
|
||||
Can be deployed via command line or UI interface
|
||||
|
||||
@@ -26,6 +26,77 @@ This project uses [songquanpeng/message-pusher](https://github.com/songquanpeng/
|
||||
|
||||

|
||||
|
||||
## Webhook Template Examples
|
||||
|
||||
### Telegram Bot Push
|
||||
|
||||
Push email notifications by calling the Telegram Bot API directly via webhook. Suitable for scenarios where you don't want to deploy the full Telegram Bot integration or need a custom push format.
|
||||
|
||||
- **URL**: `https://api.telegram.org/bot<YOUR_BOT_TOKEN>/sendMessage`
|
||||
- **Method**: `POST`
|
||||
- **Headers**:
|
||||
|
||||
```json
|
||||
{
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
```
|
||||
|
||||
- **Body**:
|
||||
|
||||
```json
|
||||
{
|
||||
"chat_id": "YOUR_CHAT_ID",
|
||||
"text": "New Email\nFrom: ${from}\nTo: ${to}\nSubject: ${subject}\nURL: ${url}"
|
||||
}
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
> To get your `chat_id`: send a message to the Bot, then visit `https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates` and look for the `chat.id` field in the response
|
||||
|
||||
### WeChat Work Bot Push
|
||||
|
||||
- **URL**: `https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY`
|
||||
- **Method**: `POST`
|
||||
- **Headers**:
|
||||
|
||||
```json
|
||||
{
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
```
|
||||
|
||||
- **Body**:
|
||||
|
||||
```json
|
||||
{
|
||||
"msgtype": "text",
|
||||
"text": {
|
||||
"content": "New Email\nFrom: ${from}\nTo: ${to}\nSubject: ${subject}\nURL: ${url}"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Discord Webhook Push
|
||||
|
||||
- **URL**: `https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_WEBHOOK_TOKEN`
|
||||
- **Method**: `POST`
|
||||
- **Headers**:
|
||||
|
||||
```json
|
||||
{
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
```
|
||||
|
||||
- **Body**:
|
||||
|
||||
```json
|
||||
{
|
||||
"content": "**New Email**\nFrom: ${from}\nTo: ${to}\nSubject: ${subject}\nURL: ${url}"
|
||||
}
|
||||
```
|
||||
|
||||
## Webhook Data Format
|
||||
|
||||
To get the url, you need to configure the worker's `FRONTEND_URL` to your frontend address, or you can construct the url yourself using `id` = `${FRONTEND_URL}?mail_id=${id}`
|
||||
|
||||
Reference in New Issue
Block a user