- 楼主 编辑于
Cloudflare Email Routing 增强方案
利用 Cloudflare Email Routing,为托管在 Cloudflare 的域名快速开启灵活的域名邮箱。
github使用 CF 原生方案的痛点
- 一对一限制:原生后台一条规则只能转到一个目标邮箱。想同时转给两个邮箱(例如主用 Gmail + 备用 Outlook),必须自己写 Worker。
- 操作繁琐:每次添加或修改转发目标都要进 Cloudflare 面板手动操作。临时停掉某个接收邮箱时,只能删除整条规则再重建,体验较差。
原理
域名开启 Email Routing 后,将 Catch-all 规则直接指向
cf-mailWorker。邮件进入时:
- Worker 从 Durable Object 中查询当前收件地址对应的规则;
- 过滤出处于启用状态的目标邮箱;
- 使用
message.forward()进行并行转发; - 同时记录一条投递日志。
由于规则存储在 Durable Object 中,增删规则、添加 / 移除目标、暂停某个目标都是秒级生效,无需重新部署 Worker。
主要功能
单文件内嵌 Web 面板
- 与 Worker 一起打包部署,支持绑定自己的二级域名(例如
mail.example.com); - 使用
ADMIN_TOKEN进行登录验证。
一对多转发 + 独立开关
- 一个收件地址可挂多个目标邮箱;
- 在列表中直接点击目标邮箱的胶囊标签,即可单独暂停 / 恢复发往该邮箱,无需删除整条规则。
固定后缀 & 实时搜索分页
- 新增 / 编辑规则使用弹窗操作;
- 域名后缀自动补全,平时只需输入前缀;
- 规则较多时支持按收件地址或目标邮箱实时过滤,并支持分页。
投递日志(含中文主题解码)
- 保留最近 200 条转发记录;
- 原始邮件头中的 Subject 通常为
=?utf-8?q?...?=这种 RFC 2047 编码,内置解码器,后台可直接查看中文标题和拒信原因。
双模式 CLI(
cfm/cfmctl)零依赖的 Node 命令行工具,平时无需打开网页即可在终端完成操作:
cfmctl set shop [email protected] [email protected] cfmctl disable shop [email protected] cfmctl logs 20CF Token 权限预检(
check-token)配置 Cloudflare API Token 时容易因漏勾权限而报
10000 Authentication error(例如开启 Email Routing 总开关实际需要Zone Settings: Edit)。提供无副作用的探测命令,部署前先跑一遍,缺少的权限会直接提示去哪里勾选。
自带 Agent Skill
若平时使用 Claude Code 或 Cursor,可将仓库中的
skills/cf-mail放入 skills 目录。之后直接对 AI 说:- “把 xxx 转发到某邮箱”
- “看看最近有没有收信失败”
即可自动调用
cfmctl处理。快速开始
具体部署步骤与配置说明请参考项目仓库中的完整文档。
收藏支持反对打赏
拿 vps 部署个邮局得了,大部分封的都是 25 端口出站,而不是 25 端口入站
个性签名我的网站:nahida.im | 相关服务监控:status.nahida.im
但脑洞确实很好
个性签名我的网站:nahida.im | 相关服务监控:status.nahida.im