更新于

TempMailer 是怎样工作的:邮箱寿命、访问控制与数据边界

#TempMailer#技术架构#隐私

TempMailer 是一个只接收邮件、生命周期较短的工具。它创建地址,在地址有效期内接收邮件,并把解析后的消息展示给拥有邮箱会话的浏览器。它不是永久邮箱账号、匿名网络或文件存储服务。

这篇文章按照当前实现说明公开行为,以及用户判断它是否适合某个任务时需要知道的边界。

完整生命周期

生成地址 -> 保存邮箱会话 -> 接收邮件
-> 阅读纯文本或受限 HTML -> 到期或手动销毁 -> 删除邮箱数据

目前有两种用户可见的寿命模式:

  • 普通临时收件箱默认有效期为 24 小时;
  • 10 分钟邮箱模式请求 600 秒有效期。

界面会显示剩余时间。任务完成后,用户可以在预定到期前主动销毁地址。地址过期以后,不再被当作有效收件人接受邮件。

1. 地址怎样生成

用户请求新邮箱时,浏览器调用 TempMailer Worker。Worker 选择一个启用的收件域名,生成或验证地址本地部分,计算到期时间,并保存地址记录。

为了减少自动化滥用,生成操作会依据会话和网络信号限速。生成的地址不是用户账号,没有传统密码。邮箱访问依赖浏览器建立的所有者会话;需要跨设备共享时,则使用带签名和到期时间的深层链接。

浏览器会在本地存储中保存有限的会话状态,让同一设备在地址仍有效时恢复当前邮箱。任何拿到有效邮箱访问链接的人,都可能获得收件权限,因此链接本身应该被当作秘密。

2. 邮件怎样进入收件箱

Cloudflare Email Routing 把入站邮件交给 Email Worker。SMTP 的传输方式由 RFC 5321 定义,但目标地址是否属于有效 TempMailer 邮箱,由应用逻辑决定。

解析邮件前,Worker 会检查:

  1. 收件地址本地部分和 TempMailer 域名是否合法;
  2. 地址是否存在于有效地址数据库;
  3. 地址是否已经过期;
  4. 发件人是否被临时防滥用规则拦截;
  5. 原始邮件是否超过配置大小上限。

未知和过期地址会被拒绝,而不是收到邮件后临时创建邮箱。这样既避免随意猜测地址产生收件箱,也能减少解析垃圾邮件消耗的资源。

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 远程内容并且不提供附件。正是这些边界让它适合低风险验证和测试,也让它有意不适合永久或敏感账号。

参考资料

  1. Cloudflare 文档:Email Workers
  2. Cloudflare 文档:D1
  3. RFC 5321:简单邮件传输协议

相关内容