Zurück zum Ranking

oiov/vmail

TypeScriptvmail.dev

📫 只需一个域名部署临时邮箱到 Cloudflare Worker,支持收发邮件,使用 D1 保存数据,支持多域名后缀,密码找回,开放API接口。

cloudflare-workersemailemail-sendertemporary-emaild1-database
Sterne-Wachstum
Sterne
1.4k
Forks
369
Wochenwachstum
Issues
0
5001k
Apr. 2024Jan. 2025Okt. 2025Juli 2026
Artefaktenpmnpm install vmail
README
yesmore%2Fvmail | Trendshift

𝐕𝐌𝐀𝐈𝐋.𝐃𝐄𝐕

部署教程 · AI帮你部署 · API 文档 · English | 简体中文

使用 Cloudflare Email Worker 实现的临时电子邮件服务

🌟 推荐 Claude Code 稳定 API 渠道:Nbility AI Gateway ,支持 Claude Fable 5、GPT 5.6 等主流 AI Coding 大模型

🌈 特点

  • 🎯 隐私友好,无需注册,开箱即用
  • ✈️ 支持邮件收发
  • ✨ 支持保存密码,找回邮箱
  • 😄 支持多域名后缀
  • 🔌 开放 RESTful API,支持程序化调用
  • 🚀 快速部署,纯 Cloudflare 方案,无需服务器

原理:

  • Email worker 接收电子邮件
  • 前端 (Vite + React) 显示电子邮件
  • 邮件存储 (Cloudflare D1)
  • 发信使用 Resend API、MailChannels API 或 Cloudflare 原生发件

👋 自部署教程

本项目基于 Cloudflare Workers 和 Cloudflare D1 构建。您只需要一个托管在 Cloudflare 上的域名即可。

准备工作

  • Cloudflare 账户与托管在 Cloudflare 上的域名
  • 本地安装 Node.js 环境(版本 >= 22.x)和 pnpm

自动部署 (推荐)

本项目已包含一个预先配置好的 GitHub Action 工作流,可以帮助您自动将 Vmail 应用部署到 Cloudflare。

详细步骤请参考 GitHub Action 自动部署教程

手动部署步骤

  1. 克隆项目到本地

    git clone https://github.com/oiov/vmail
    cd vmail
    pnpm install
    
  2. 创建 Cloudflare D1 数据库 在 Cloudflare 控制台或使用 Wrangler CLI 创建一个 D1 数据库。

  3. 配置 wrangler.toml 将根目录下的 wrangler.toml 文件中的 ${...} 占位符替换为您的 Cloudflare 和 D1 配置信息。您也可以通过 Cloudflare Pages 的环境变量来设置这些值。

  4. 构建和部署

    # 构建前端应用
    pnpm run build
    
    # 部署到 Cloudflare
    pnpm run deploy
    

    Wrangler 将会自动处理前端静态资源和 Worker 的部署,并根据配置应用数据库迁移。

  5. 配置电子邮件路由 在您的 Cloudflare 域名管理界面,进入 Email -> Email Routing -> Routes,设置一个 Catch-all 规则,将所有发送到您域名的邮件 Send to a Worker,选择您刚刚部署的 Worker。

环境变量

通过 GitHub Actions 部署到 Cloudflare Workers 时,您需要配置以下环境变量:

  • D1_DATABASE_NAME: 您的 D1 数据库名称。
  • D1_DATABASE_ID: 您的 D1 数据库 ID。
  • COOKIES_SECRET: 用于签名 Cookie 的密钥。
  • EMAIL_DOMAIN: 您的邮箱域名,例如 example.com,example.net
  • TURNSTILE_KEY: 您的 Turnstile 站点密钥,可选。
  • TURNSTILE_SECRET: 您的 Turnstile 密钥,可选。
  • PASSWORD: 站点访问密码(可选)。
  • API_RATE_LIMIT_PER_MINUTE: API 每分钟请求限制(可选,默认 100)。
  • SEND_CHANNEL: 发件渠道,可选 resendmailchannelscloudflare;不配置时隐藏发信功能。旧值 send_email 仍兼容,但已弃用。
  • SENDER_EMAIL: 固定的发件地址,必须是服务商允许或已验证的地址;临时邮箱仅作为 Reply-To
  • MAILBOX_TOKEN_SECRET: 邮箱发信授权令牌的签名密钥,启用发信时必填,并应通过 Wrangler secret 配置。
  • RESEND_API_KEY: Resend API 密钥,仅 SEND_CHANNEL=resend 时需要,通过 Wrangler secret 配置。
  • MAILCHANNELS_API_KEY: MailChannels API 密钥,仅 SEND_CHANNEL=mailchannels 时需要,通过 Wrangler secret 配置。
  • SEND_RATE_LIMIT_PER_MINUTE: 每个邮箱每分钟最大发信数(可选,默认 3)。
  • SEND_IP_RATE_LIMIT_PER_MINUTE: 每个 IP 每分钟最大发信数(可选,默认 10)。
  • SHOW_AFF: 是否显示推广弹窗和链接(可选,设置为 true 开启)。
  • ENABLE_OPENAPI: 是否开启 OpenAPI 调用功能(可选,默认 false;只有显式设置为 true 时才允许创建 API Key 和访问 /api/v1/*)。

发信密钥不要写入 wrangler.toml,请使用:

pnpm exec wrangler secret put MAILBOX_TOKEN_SECRET
pnpm exec wrangler secret put RESEND_API_KEY       # Resend 时
pnpm exec wrangler secret put MAILCHANNELS_API_KEY # MailChannels 时

使用 Cloudflare Worker 原生发信时,将 SEND_CHANNEL 设置为 cloudflare,并配置 SENDER_EMAILMAILBOX_TOKEN_SECRET;不需要 RESEND_API_KEYMAILCHANNELS_API_KEY。此外,需要在该域名上启用 Cloudflare Email Routing。wrangler.toml 中名为 SEND_EMAIL[[send_email]] 绑定是 Cloudflare 固定配置,无需改名。

🔨 本地运行调试

  1. 复制环境变量文件

    # 此命令会创建一个本地环境变量文件,wrangler dev 会自动加载
    cp .env.example .env
    
  2. 填写本地环境变量.env 文件中填写必要的环境变量,特别是 D1_DATABASE_ID 等。您需要先在 Cloudflare 创建一个 D1 数据库用于本地开发。

  3. 启动开发服务器

    pnpm run dev
    

    该命令会同时启动前端 Vite 开发服务器和本地的 Wrangler Worker 环境。

📖 API 文档

Vmail 提供完整的 RESTful API,支持通过程序化方式创建临时邮箱、查询收件箱。

获取 API Key

访问 API 文档页面 创建免费的 API Key。

API 端点

方法 端点 说明
POST /api/v1/mailboxes 创建临时邮箱
GET /api/v1/mailboxes/:id 获取邮箱信息
GET /api/v1/mailboxes/:id/messages 获取收件箱(支持分页)
GET /api/v1/mailboxes/:id/messages/:messageId 获取邮件详情
DELETE /api/v1/mailboxes/:id/messages/:messageId 删除邮件

快速开始

# 1. 创建临时邮箱
curl -X POST https://vmail.dev/api/v1/mailboxes \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json"

# 响应: { "data": { "id": "abc123", "address": "random@domain.com", ... } }

# 2. 查询收件箱
curl https://vmail.dev/api/v1/mailboxes/abc123/messages \
  -H "X-API-Key: your-api-key"

# 3. 获取邮件详情
curl https://vmail.dev/api/v1/mailboxes/abc123/messages/msg_001 \
  -H "X-API-Key: your-api-key"

完整文档请访问:https://vmail.dev/api-docs

📝 License

GNU General Public License v3.0

Star History

Star History Chart

Ähnliche Repositories
honojs/hono

Web framework built on Web Standards

TypeScriptnpmMIT Licensecloudflareweb-framework
hono.dev
31.4k1.2k
supermemoryai/supermemory

Memory and context engine + app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.

TypeScriptnpmMIT Licensecloudflare-pagescloudflare-workers
supermemory.ai/docs
28.5k2.5k
kriasoft/react-starter-kit

Modern React starter kit with Bun, TypeScript, Tailwind CSS, tRPC, Stripe, and Cloudflare Workers. Production-ready monorepo for building fast web apps.

TypeScriptnpmMIT Licensereactboilerplate
reactstarter.com
23.6k4.2k
yonggekkk/Cloudflare-vless-trojan

CF-workers/pages代理脚本:支持Vless-ws(tls)、Trojan-ws(tls);Socks5/http本地代理脚本:可选ECH-TLS、普通TLS、无TLS三种代理模式

JavaScriptnpmcdnvless
ygkkk.blogspot.com/2023/07/cfworkers-vless.html
15.6k9.6k
maillab/cloud-mail

A Cloudflare-based email service | 基于 Cloudflare 的邮箱服务 | Cloudflare Email 邮箱 Mail

JavaScriptnpmMIT Licenseemailcloudflare-email
skymail.ink
12.6k18.3k
dreamhunter2333/cloudflare_temp_email

CloudFlare free temp domain email 免费收发 临时域名邮箱 支持附件 IMAP SMTP TelegramBot

TypeScriptnpmMIT Licensecloudflare-emailcloudflare-pages
mail.awsl.uk
10.6k7.2k
cloudflare/moltworker

Run OpenClaw, (formerly Moltbot, formerly Clawdbot) on Cloudflare Workers

TypeScriptnpmApache License 2.0ai-agentscloudflare-workers
blog.cloudflare.com/moltworker-self-hosted-ai-agent/
9.9k1.7k
cmliu/CF-Workers-docker.io

这个项目是一个基于 Cloudflare Workers 的 Docker 镜像代理工具。它能够中转对 Docker 官方镜像仓库的请求,解决一些访问限制和加速访问的问题。

JavaScriptnpmcloudflare-pagescloudflare-workers
docker.fxxk.dedyn.io
9.2k10.6k
zizifn/edgetunnel

Running V2ray inside edge/serverless runtime

JavaScriptnpmGNU General Public License v2.0cloudflare-workersv2ray
8.9k48.2k
webstudio-is/webstudio

Open source website builder and Webflow alternative. Webstudio is an advanced visual builder that connects to any headless CMS, supports all CSS properties, and can be hosted anywhere, including with us.

TypeScriptnpmGNU Affero General Public License v3.0accessibilitycloudflare
webstudio.is
8.7k1.6k
yonggekkk/Cloudflare_vless_trojan

CF-workers/pages代理脚本【Vless与Trojan】,支持一键自建proxyip与CF反代IP,CF优选官方IP三地区应用脚本,自动输出美、亚、欧最佳优选IP

JavaScriptnpmcdnvless
ygkkk.blogspot.com/2023/07/cfworkers-vless.html
7.9k6.4k
panva/jose

JWA, JWS, JWE, JWT, JWK, JWKS for Node.js, Browser, Cloudflare Workers, Deno, Bun, and other Web-interoperable runtimes

TypeScriptnpmMIT Licensejosejwa
7.7k375