TempMailer 是怎样工作的:邮箱寿命、访问控制与数据边界
TempMailer 是一个只接收邮件、生命周期较短的工具。它创建地址,在地址有效期内接收邮件,并把解析后的消息展示给拥有邮箱会话的浏览器。它不是永久邮箱账号、匿名网络或文件存储服务。
这篇文章按照当前实现说明公开行为,以及用户判断它是否适合某个任务时需要知道的边界。
完整生命周期
生成地址 -> 保存邮箱会话 -> 接收邮件
-> 阅读纯文本或受限 HTML -> 到期或手动销毁 -> 删除邮箱数据
目前有两种用户可见的寿命模式:
- 普通临时收件箱默认有效期为 24 小时;
- 10 分钟邮箱模式请求 600 秒有效期。
界面会显示剩余时间。任务完成后,用户可以在预定到期前主动销毁地址。地址过期以后,不再被当作有效收件人接受邮件。
1. 地址怎样生成
用户请求新邮箱时,浏览器调用 TempMailer Worker。Worker 选择一个启用的收件域名,生成或验证地址本地部分,计算到期时间,并保存地址记录。
为了减少自动化滥用,生成操作会依据会话和网络信号限速。生成的地址不是用户账号,没有传统密码。邮箱访问依赖浏览器建立的所有者会话;需要跨设备共享时,则使用带签名和到期时间的深层链接。
浏览器会在本地存储中保存有限的会话状态,让同一设备在地址仍有效时恢复当前邮箱。任何拿到有效邮箱访问链接的人,都可能获得收件权限,因此链接本身应该被当作秘密。
2. 邮件怎样进入收件箱
Cloudflare Email Routing 把入站邮件交给 Email Worker。SMTP 的传输方式由 RFC 5321 定义,但目标地址是否属于有效 TempMailer 邮箱,由应用逻辑决定。
解析邮件前,Worker 会检查:
- 收件地址本地部分和 TempMailer 域名是否合法;
- 地址是否存在于有效地址数据库;
- 地址是否已经过期;
- 发件人是否被临时防滥用规则拦截;
- 原始邮件是否超过配置大小上限。
未知和过期地址会被拒绝,而不是收到邮件后临时创建邮箱。这样既避免随意猜测地址产生收件箱,也能减少解析垃圾邮件消耗的资源。
3. 系统保存什么
对已经接受的邮件,Worker 解析并保存收件界面需要的字段:
- 目标地址和域名;
- 信封发件人;
- 邮件主题;
- 纯文本正文;
- HTML 正文;
- 收件时间和原始邮件大小。
单个地址当前最多保留最近 50 封邮件。原始 MIME 邮件只在解析时读取,不作为原始邮件档案长期存储。系统会识别附件是否存在,用于运行统计,但不保存附件,也不提供附件下载。
消息数据在邮箱有效期内保存于 Cloudflare D1。计划清理任务每 30 分钟运行一次,正常请求中还会按一定概率触发额外清理。过期地址和对应邮件会被删除,系统也会通过额外时间边界清理过旧收件记录。
删除并不代表所有基础设施日志会在同一秒完全消失。Cloudflare 和网络系统可能依据各自政策,为运行和安全处理有限数据。具体类别和用途请查看隐私政策。
4. 邮箱访问怎样控制
API 会检查请求是否携带邮箱所有者会话,或者有效的签名链接。签名链接把邮箱信息和到期时间绑定在一起,并使用服务端秘密验证;签名比较也不会简单地在第一个不同字符处提前结束。
这种方式比“只要猜到地址名称就能打开”的公开收件箱更安全,但它仍然不是端到端加密。TempMailer 需要在服务端接收并解析普通邮件,因此不能用于高度敏感文件、私钥、医疗记录、财务报表或重要账号找回消息。
不要公开包含邮箱访问参数的截图和 URL。如果确实要把某条消息告诉别人,应只分享完成任务所需的最少信息,而不是公开整个收件箱链接。
5. 纯文本和 HTML 怎样显示
收件箱默认使用纯文本模式打开邮件。绝大多数验证码都能直接读取,也可以避免自动请求发送方控制的远程图片。
用户主动选择 HTML 后,消息会进入沙箱 iframe。严格的内容安全策略会阻止远程图片、脚本、表单、媒体、外部框架和网络字体,只允许内联样式和嵌入式数据图片。iframe 还使用 no-referrer 策略。
这些控制能减少阅读时的追踪和主动内容风险,但不能保证邮件文字本身真实,也不能保护用户主动打开的外部链接。访问前仍然要核对目标域名。
6. TempMailer 明确不做什么
服务不会:
- 发送外部邮件;
- 提供永久用户名和账号恢复;
- 保证每个发送方都能成功投递;
- 绕过禁止一次性地址的网站规则;
- 提供附件下载;
- 让整个浏览器会话匿名;
- 保证邮箱过期后还能重新访问;
- 替代重要账号需要的安全长期邮箱。
发送方可能延迟、拒绝或停止投递,部分网站也不会给已知临时域名发信。TempMailer 无法改变这些外部策略。
7. 怎样选择正确邮箱
| 任务 | TempMailer 是否合适 | 需要时的替代方案 |
|---|---|---|
| 一次性低风险验证 | 合适 | — |
| 测试自己的邮件流程 | 适合冒烟测试 | 压测使用自控 SMTP sink |
| 短期下载确认 | 不需要附件时合适 | 文件使用长期邮箱 |
| 新闻订阅隔离 | 能力有限 | 长期转发别名 |
| 付费账号或保存作品 | 不合适 | 安全主邮箱或长期别名 |
| 银行、医疗、法律、政务 | 不适合 | 经验证的长期邮箱 |
判断方法很简单:如果邮件或账号在临时收件箱到期后仍然重要,就应该使用为长期存在而设计的地址。
8. 隐私是清晰边界,不是绝对口号
TempMailer 能减少主邮箱暴露,但注册网站仍可能处理 IP、Cookie、浏览器特征、主动提交的姓名、支付信息和账号行为。因此它应该被描述为邮箱地址隔离,而不是完整匿名。
TempMailer 也把自己的私有邮箱路由与广告和统计分离。动态邮箱页面设置为 noindex,不加载 Google Analytics 和 AdSense,不输出 canonical 与 hreflang,并使用无来源信息策略。
结论
TempMailer 专注于一个范围明确的任务:在不把长期邮箱交给每个网站的情况下,接收短期文本邮件。它限制邮箱寿命、拒绝未知地址、通过会话或签名链接控制访问、清理过期数据、阻止 HTML 远程内容并且不提供附件。正是这些边界让它适合低风险验证和测试,也让它有意不适合永久或敏感账号。