mail2telegram
Telegram bot that pushes a domain's incoming email to chat, with a Mini App inbox and replies through Resend
mail2telegram push notification, Mini App inbox, message reader and iPad split view in Telegram
Cloudflare Email Routing hands each message to the mail2telegram Worker, which pushes it to the configured Telegram chats with quick action buttons. The full history, R2-stored attachments and filter settings live in a Telegram Mini App served by the same Worker.
Each notification shows the subject, sender and recipient. Preview prints the plain-text body in the chat, Summary returns an AI summary once a summary backend is enabled in Settings, and Open launches the Mini App on that message. A reply to a pushed message in Telegram goes back to the sender through Resend. The Mini App, built with Vite and React, has Inbox, Spam, Trash and Sent folders, search, unread and starred filters, a sandboxed HTML reader and attachment downloads. Its Settings screen manages allow and block lists with regex matching, forwarding to verified addresses, summary options, and size and retention limits. The Worker validates Telegram initData against TELEGRAM_TOKEN and admits only the IDs in TELEGRAM_ID, and an optional WEB_PASSWORD opens the app in a normal browser. Mail and settings live in D1 and attachments in R2. Summaries run on Workers AI or any OpenAI-compatible endpoint. A daily cron trigger deletes mail older than the auto-cleanup period set in the Mini App. The Deploy to Cloudflare button creates the D1 database and R2 bucket, prompts for TELEGRAM_TOKEN and TELEGRAM_ID, applies D1 migrations, builds the Mini App and deploys.
Built for: Individuals and solo founders who want mail for their domain delivered to Telegram, with a searchable inbox and filters
What you can use it for
- Get a Telegram push for every email sent to your domain
- Read and search mail history from a Telegram Mini App
- Filter noisy senders with regex allow and block lists
- Reply to email from Telegram through Resend
- Skim long messages through AI summaries
Deploy
One-click · main path
Branch master
CLI
Branch master
Then set TELEGRAM_TOKEN and TELEGRAM_ID under Variables and Secrets in the dashboard and open /init once.
pnpm install npx wrangler login npx wrangler d1 create mail2telegram npx wrangler r2 bucket create mail2telegram DEPLOY_D1_DATABASE_ID=<your-d1-id> DEPLOY_R2_BUCKET_NAME=mail2telegram pnpm run deploy
Create a bot with BotFather and set its privacy policy, which Mini Apps require. The button asks for the bot token and chat IDs. Afterward, set the Email Routing catch-all to the Worker, open /init on the Worker once to bind the webhook, and send /start to the bot.
What it needs to run
- Workers AIAI
- D1 databasesmail2telegram
- R2 bucketsmail2telegram
Also uses
- OpenAI API (optional): OpenAI-compatible endpoint for message summaries instead of Workers AI
- Resend (optional): Sends replies from Telegram and new mail from the Mini AppSource
Good to know
Telegram allows Mini App buttons only in private chats, so group notifications omit Open. Mail over the Max Size limit is truncated and keeps no attachments. Replying and composing need a Resend API key. Access has no team roles beyond the list of IDs in TELEGRAM_ID.
Cost on Cloudflare
Likely fits the free plan
Email Routing is free, and D1, R2 and Workers AI (10,000 Neurons per day) have free allowances. Per the README, parsing takes about 2 ms of CPU per MB, so Max Size should stay under about 2 MB on Workers Free (10 ms CPU per request). Workers Paid removes that constraint.
The estimate is based on Cloudflare’s documented limits and the app’s configuration. What you pay depends on your usage and plan.
Where this comes from
- Repositoryhttps://github.com/tbxark/mail2telegram
- App websitehttps://mail2telegram.tbxark.workers.dev
- Documentationhttps://github.com/TBXark/mail2telegram/blob/master/docs/DEPLOY.md
Listing history
- Oct 2, 2026 · mail2telegram listed
Similar apps
All Email apps
Multi-mailbox email service for your own domain on Cloudflare Workers, with webmail, an admin console and Resend sending
- Deploy
- Manual
- License
- MIT
- GitHub stars
- 14.6k stars
- Last commit

Open-source web inbox for your own domain, with an AI agent that drafts replies and sends only after you confirm
- Deploy
- One-click
- License
- Apache-2.0
- GitHub stars
- 8.2k stars
- Last commit

Self-hosted webmail for your own domains, with routing rules, a calendar and an AI assistant whose drafts need approval
- Deploy
- One-click
- License
- AGPL-3.0
- GitHub stars
- 4.6k stars
- Last commit
