邮件路由
Cloudflare Email Routing 是一项免费的邮件转发服务,可以将发送到自定义域名的邮件转发到你的个人邮箱。无需搭建邮件服务器,即可拥有专业的域名邮箱地址。
什么是 Email Routing?
功能概述
Email Routing 允许你创建自定义邮箱地址(如 [email protected]),并将收到的邮件转发到你的个人邮箱(如 Gmail、Outlook 等)。
核心特点:
| 特点 | 说明 |
|---|---|
| 完全免费 | 无需付费,无限转发 |
| 无需邮件服务器 | Cloudflare 处理所有转发 |
| 自定义地址 | 创建任意前缀的邮箱地址 |
| 支持多目的地 | 转发到多个邮箱 |
| 与 Workers 集成 | 使用代码处理邮件 |
与传统邮件服务的区别
| 功能 | Email Routing | 传统邮件服务 |
|---|---|---|
| 接收邮件 | ✅ 支持 | ✅ 支持 |
| 发送邮件 | ❌ 不支持 | ✅ 支持 |
| 存储空间 | ❌ 无存储 | ✅ 有存储 |
| 费用 | 免费 | 通常付费 |
| 配置难度 | 简单 | 复杂 |
适用场景:
- 需要专业的域名邮箱地址
- 不需要发送邮件(或通过其他服务发送)
- 希望节省邮件服务费用
- 个人网站、博客、小型项目
启用 Email Routing
前提条件
- 域名已添加到 Cloudflare
- 域名状态为 Active
- 拥有域名管理权限
步骤一:进入 Email Routing
- 登录 Cloudflare 控制台
- 选择你的域名
- 点击左侧菜单 "Email" → "Email Routing"
步骤二:启用服务
首次访问会看到设置向导:
- 查看将要添加的 DNS 记录
- 点击 "Add records and enable"
Cloudflare 会自动添加以下记录:
类型: MX
名称: @
内容: route1.mx.cloudflare.net
优先级: 10
类型: MX
名称: @
内容: route2.mx.cloudflare.net
优先级: 20
类型: TXT
名称: @
内容: v=spf1 include:_spf.mx.cloudflare.net ~all
步骤三:创建转发规则
- 进入 "Routing rules" 标签页
- 在 "Custom addresses" 部分,点击 "Create address"
- 填写信息:
- Custom address:自定义邮箱前缀(如
info、contact、admin) - Destination:接收邮件的邮箱地址
- Custom address:自定义邮箱前缀(如
示例配置:
Custom address: info
Destination: [email protected]
这会创建 [email protected],邮件将转发到 [email protected]。
步骤四:验证目标邮箱
Cloudflare 会发送验证邮件到目标邮箱:
- 打开目标邮箱
- 找到 Cloudflare 发送的验证邮件
- 点击 "Verify email address"
- 返回 Cloudflare 控制台
验证后,目标邮箱状态会显示 "Verified"。
步骤五:完成配置
点击 "Continue",然后点击 "Add records and finish"。
Email Routing 现已启用!
配置邮件规则
自定义地址规则
每个规则包含两部分:
- 自定义地址:域名邮箱的前缀
- 目标地址:接收转发的邮箱
创建多个规则:
| 自定义地址 | 目标地址 | 用途 |
|---|---|---|
| info | [email protected] | 一般咨询 |
| support | [email protected] | 客户支持 |
| admin | [email protected] | 管理邮件 |
| careers | [email protected] | 招聘邮件 |
Catch-all 地址
Catch-all 会捕获所有发送到域名的邮件:
- 在 "Routing rules" 中找到 "Catch-all address"
- 点击 "Edit"
- 启用 Catch-all
- 设置目标地址
效果:
[email protected]都会被转发- 未定义的地址也会被捕获
注意:启用 Catch-all 可能会收到大量垃圾邮件。
地址别名
一个自定义地址可以转发到多个目标:
方法一:创建多个规则(推荐)
规则 1: [email protected] → [email protected]
规则 2: [email protected] → [email protected]
方法二:使用 Workers
创建 Workers 脚本处理邮件分发。
DNS 记录配置
自动配置的记录
启用 Email Routing 时,Cloudflare 自动添加:
MX 记录:
类型: MX
名称: @
邮件服务器: route1.mx.cloudflare.net
优先级: 10
类型: MX
名称: @
邮件服务器: route2.mx.cloudflare.net
优先级: 20
SPF 记录:
类型: TXT
名称: @
内容: v=spf1 include:_spf.mx.cloudflare.net ~all
手动配置(可选)
如果需要自定义配置,可以手动添加记录:
子域名邮件:
类型: MX
名称: subdomain
邮件服务器: route1.mx.cloudflare.net
优先级: 10
这会启用 [email protected]。
DKIM 记录:
Cloudflare 会自动配置 DKIM,无需手动添加。
与现有邮件服务共存
场景:部分使用 Email Routing
如果已有邮件服务,只想部分使用 Email Routing:
方法一:使用子域名
主域名邮件 → 现有邮件服务器
子域名邮件 → Email Routing
方法二:选择性转发
保留现有 MX 记录,不启用 Email Routing 的自动配置。
场景:从其他服务迁移
从其他邮件服务迁移到 Email Routing:
- 导出现有邮件:从旧服务导出邮件
- 更新 MX 记录:删除旧 MX 记录,启用 Email Routing
- 创建转发规则:设置所有需要的地址
- 通知用户:告知邮件地址变更
发送邮件配置
Email Routing 只处理接收邮件,不提供发送功能。如需从域名邮箱发送邮件:
使用 Gmail 发送
- 登录 Gmail
- 进入 "设置" → "账号和导入"
- 点击 "用这个地址发送邮件"
- 添加域名邮箱地址
- 配置 SMTP 服务器
SMTP 配置:
需要使用第三方 SMTP 服务:
- SendGrid
- Mailgun
- Amazon SES
- Google Workspace
使用第三方服务
| 服务 | 免费额度 | 特点 |
|---|---|---|
| SendGrid | 100 封/天 | 易于集成 |
| Mailgun | 5000 封/月 | 功能丰富 |
| Amazon SES | 62000 封/月 | 成本低 |
| Brevo | 300 封/天 | 界面友好 |
与 Workers 集成
使用 Workers 可以编程处理邮件:
创建 Email Worker
- 进入 "Email" → "Email Workers"
- 点击 "Create Worker"
- 编写处理代码
示例代码:
export default {
async email(message, env, ctx) {
const { from, to, subject } = message;
// 记录邮件信息
console.log(`Received email from ${from} to ${to}`);
// 转发到目标邮箱
await message.forward("[email protected]");
// 或发送到 webhook
await fetch("https://your-webhook.com/email", {
method: "POST",
body: JSON.stringify({
from,
to,
subject,
}),
});
},
};
使用场景
- 自动回复:根据发件人自动回复
- 邮件分类:根据内容分发邮件
- 垃圾邮件过滤:自定义过滤规则
- 集成通知:发送到 Slack、Discord 等
- 存储到数据库:保存邮件到 D1 或 KV
配置 Email Worker
- 创建 Worker
- 在 "Routing rules" 中选择 Worker 作为目标
- 保存配置
分析和日志
查看邮件统计
在 "Analytics" 标签页查看:
- 收到的邮件数量
- 转发成功率
- 垃圾邮件拦截统计
- 按地址分类的统计
查看日志
在 "Logs" 标签页查看:
- 邮件处理记录
- 转发状态
- 错误信息
日志字段:
| 字段 | 说明 |
|---|---|
| Timestamp | 处理时间 |
| From | 发件人地址 |
| To | 收件人地址 |
| Subject | 邮件主题 |
| Status | 处理状态 |
| Action | 执行的操作 |
故障排除
邮件未收到
检查清单:
-
DNS 记录是否正确:
dig MX yourdomain.com应返回 Cloudflare 的 MX 记录。
-
目标邮箱是否验证: 在 Routing rules 中检查状态是否为 "Verified"。
-
检查垃圾邮件文件夹: 转发的邮件可能被标记为垃圾邮件。
-
检查 SPF 记录:
dig TXT yourdomain.com确认包含 Cloudflare 的 SPF 记录。
邮件延迟
邮件转发通常在几秒内完成,但可能因以下原因延迟:
- DNS 传播延迟
- 发件服务器延迟
- Cloudflare 处理队列
与现有 MX 记录冲突
如果已有 MX 记录,启用 Email Routing 时需要:
- 删除现有 MX 记录,或
- 保留现有记录,Email Routing 不会生效
注意:一个域名不能同时使用两个邮件服务。
最佳实践
地址命名规范
推荐格式:
| 地址 | 用途 |
|---|---|
| info@ | 一般咨询 |
| support@ | 客户支持 |
| admin@ | 管理事务 |
| careers@ | 招聘 |
| no-reply@ | 通知邮件 |
| webmaster@ | 网站管理 |
安全建议
- 谨慎使用 Catch-all:可能收到大量垃圾邮件
- 定期检查转发:确保目标邮箱有效
- 监控异常流量:关注邮件统计
- 使用 SPF/DKIM:提高邮件可信度
隐私保护
- 目标邮箱地址不会公开
- WHOIS 显示 Cloudflare 信息
- 邮件内容不会被存储
常见问题
Email Routing 支持多少个转发规则?
免费计划支持无限数量的转发规则。
可以转发到多个邮箱吗?
一个自定义地址只能转发到一个目标邮箱。如需转发到多个邮箱,使用 Workers 或创建多个规则。
支持附件吗?
支持。邮件附件会被一起转发。
邮件大小限制?
单封邮件最大 25MB。
可以禁用 Email Routing 吗?
可以。在设置中选择 "Disable Email Routing",DNS 记录会被移除。
参考资源
下一步
完成 Email Routing 配置后,你可以: