Skip to content

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.

Source

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

Listing history

  • Oct 2, 2026 · mail2telegram listed

Similar apps

All Email apps
  • Cloud Mail inbox with the mailbox list, received messages and the admin account menu, in Chinese

    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
  • Agentic Inbox with a threaded inbox, a draft reply awaiting Send, and the Email Agent panel logging auto-drafts

    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
  • Mailflare inbox under a custom brand name, with an open message and the compose window

    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