Temp Mail 临时邮箱文档服务搭建教程
本教程将指导您从零开始部署基于 Cloudflare Workers 的临时邮箱服务。支持自定义域名、邮件存储、Webhook 通知等高级功能,全程约需 20 分钟完成部署。
一、环境准备
1. 基础要求
- Cloudflare 账号(需开通 Workers 和 D1 数据库服务)
- 已备案域名(支持自定义邮箱后缀)
- Node.js v18+ 和 npm
- Git 客户端
2. 安装依赖
# 安装 Wrangler CLI 工具
npm install -g wrangler
# 验证安装
wrangler --version # 应输出 3.15+ 版本
二、部署流程
1. 克隆项目仓库
git clone https://github.com/find-xposed-magisk/cloudflare_temp_email.git
cd cloudflare_temp_email
2. 初始化配置文件
# 复制示例配置文件
cp wrangler.toml.example wrangler.toml
cp src/config.example.ts src/config.ts
3. 配置 Cloudflare 服务
- 登录 Cloudflare Dashboard
- 进入 Workers & Pages → D1 → 创建新数据库
temp_mail_db
- 进入 Workers KV → 创建命名空间
TEMP_MAIL_KV
4. 修改配置文件
打开 wrangler.toml
文件,替换以下参数:
name = "your-worker-name"
compatibility_date = "2024-05-01"
[[d1_databases]]
binding = "DB"
database_name = "temp_mail_db"
database_id = "your-d1-database-id" # 从 Cloudflare 控制台获取
[[kv_namespaces]]
binding = "KV"
id = "your-kv-namespace-id" # 从 Cloudflare 控制台获取
打开 src/config.ts
配置核心参数:
export const DOMAINS = ["mail.yourdomain.com"]; // 你的域名
export const DEFAULT_LOCALE = "zh"; // 默认语言
export const STORAGE_DURATION = 7200; // 邮件存储时间(秒)
三、数据库初始化
1. 执行迁移脚本
wrangler d1 execute temp_mail_db --file=./schema.sql
2. 验证数据库结构
wrangler d1 execute temp_mail_db --command="SELECT name FROM sqlite_schema WHERE type='table';"
# 应输出 emails、mailboxes 等表
四、域名解析配置
1. 添加 DNS 记录
类型 | 名称 | 内容 | TTL |
---|---|---|---|
MX | @ | 10 mail.yourdomain.com | 3600 |
TXT | _mailauth | "v=spf1 include:yourdomain.com ~all" | 3600 |
2. 验证配置
dig MX yourdomain.com +short # 应返回 MX 记录
nslookup -type=TXT _mailauth.yourdomain.com # 应返回 SPF 记录
五、部署到 Cloudflare
1. 登录 Wrangler
wrangler login
2. 执行部署命令
wrangler deploy
部署成功后控制台将输出服务地址:https://your-worker-name.your-subdomain.workers.dev
3. 绑定自定义域名
- 进入 Cloudflare 控制台 → Workers & Pages → 你的服务 → 触发器
- 在 Custom Domains 中添加
mail.yourdomain.com
六、功能验证
1. 生成临时邮箱
访问 https://mail.yourdomain.com
,页面将自动生成类似 [email protected]
的地址
2. 测试邮件接收
# 使用 curl 发送测试邮件
curl -X POST https://api.mail.yourdomain.com/send \
-H "Content-Type: application/json" \
-d '{"to":"[email protected]", "subject":"Test", "text":"Hello World"}'
3. 查看收件箱
访问 https://mail.yourdomain.com/inbox/[email protected]
应看到测试邮件
七、高级配置
1. 启用 Telegram Bot
- 创建 Bot 获取 Token
修改
config.ts
:export const TELEGRAM = { ENABLED: true, TOKEN: "your-bot-token", WEBHOOK_SECRET: "your-secret-key" };
2. 配置邮件转发
export const FORWARD_ADDRESS_LIST = [
{
match: "/.*@yourdomain.com/", // 匹配所有域名邮箱
forward: ["[email protected]"] // 转发至管理员邮箱
}
];
3. 设置访问密码
export const ACCESS_PASSWORD = "your-strong-password"; // 访问 /admin 页面需要此密码
八、故障排查
常见问题 1:邮件无法接收
- 检查 MX 记录是否生效(等待 DNS 缓存刷新)
- 验证 Workers 日志:
wrangler tail
常见问题 2:数据库连接失败
- 确认 D1 数据库 ID 是否正确
- 重新执行数据库迁移:
wrangler d1 execute temp_mail_db --local --file=./schema.sql
常见问题 3:域名绑定失败
- 确保域名已添加到 Cloudflare 账户
- 检查 Workers 的 Custom Domains 配置状态
项目资源
按照本教程操作,您将在 30 分钟内拥有一个企业级临时邮箱服务。如遇问题,可通过 GitHub Issues 提交问题报告。