发出与收到对比
Sent vs Delivered Comparison
用你自己的账号把一封草稿发到临时地址,看看发送链路改写了什么——被包成跳转的链接、被丢掉的 style 块、被塞进来的追踪像素、实际使用的编码。
检查工具和预览推断的都是一封还没发出的邮件。这个工具用临时邮箱来查明真实的发送链路会对它做什么:开一个一次性地址,从它真正要发出的那个账号把草稿发过去,再把收到的和你写的比对。
关于这套部署收外部邮件这件事
这个收件箱是真能跑的代码,但存储只在内存里,外面发来的信能不能真的进来,取决于这套实例是怎么部署的:需要一个接好 Cloudflare Email Routing 的域名,指向接收用的 Worker(docs/deploying-mail.md)。没接好的环境里,等多久都不会有外部邮件出现——地址是生成的,投递不是。这一页不假装不是这样。
邮件只放在内存里,一重启就没了。要留着的东西别往这里发。
- 1 开一个一次性地址
- 2 从你真正要用的账号,把草稿发到这个地址
- 3 挑出收到的那封,做对比
怎么用
开一个地址
本服务域名下的一个一次性地址,短时间内有效,存在内存里。
从真实账号发送
从这次投放实际要用的 Gmail、Naver 或 ESP 账号发。那个账号的编辑器和它的链接追踪,正是这里要测量的东西。
粘贴草稿并比对
选中收到的那封邮件,粘贴你发出的同一份 HTML,比对会列出被删掉的、被加上的、哪些链接被包进了跳转、以及用的是哪种编码。
常见问题
我发的邮件真的会到这里吗?
取决于这个实例是怎么部署的。接收邮件需要一个域名,并且 Cloudflare Email Routing 指向那个接收 Worker;没有配好的地方,地址照样会生成,但任何外部邮件都永远不会出现。页面会在顶部说明这一点,而不是让你一直刷新。
为什么比对在服务器上进行?
因为一次性地址会收到陌生人的邮件。收件箱从不把原始邮件标记交给浏览器——只交经过消毒的副本——而在浏览器里做差异比对,就意味着对每一封邮件都打破这条规则。所以送达的 HTML 是在存储旁边读取的,穿过去的只有计数、标签名和 URL 对,以文本形式。
我的草稿——会存在什么地方吗?
不会。它随比对请求发送,用完,请求结束时就丢弃。它不写入存储,不记录,也不返回给任何人。
过了一阵子邮件消失了
这里的收件箱会过期,存储在内存里,所以一次重启就清空了。它是为一次坐下来做一次比对而建的,不是一个存放任何东西的地方。
可以从这些接进来
HTML 邮件兼容性检查
HTML Email Compatibility Check
拿邮件的 HTML 去对照各家邮件客户端真正支持的范围,直接指出会散架的元素,并把 Gmail、Outlook 等客户端里还剩下什么并排列出来。
邮件客户端支持对照表
Email Client Support Table
Gmail、Outlook、Apple Mail、Yahoo、三星邮件和 Thunderbird 在 HTML 邮件里各支持什么,取自 caniemail 的真机测试,每一项都标了最后测试日期。
HTML 邮件搭建
HTML Email Builder
用积木块拼出基于表格布局、行内样式的 HTML 邮件,按钮走 VML 兜底,并用同一批积木生成纯文本备用版本。
密码生成器
Password Generator
按长度、字符集和是否排除易混字符的规则生成随机密码,需要的话可以一次生成很多条。
接下来
这些工具吃得下当前工具的产出,结果可以直接送过去。
SPF 与 DMARC 记录生成
SPF & DMARC Record Builder
按表单一步步生成合法的 SPF 和 DMARC TXT 记录,并逐条解释生成出来的每个机制。
邮件头分析
Email Header Analyser
把原始邮件头整理成一条投递时间线并标出每一跳的延迟,读出接收服务器给的 SPF、DKIM、DMARC 判定,并点出 From、Reply-To、Return-Path 之间的不一致。
HTML 邮件兼容性检查
HTML Email Compatibility Check
拿邮件的 HTML 去对照各家邮件客户端真正支持的范围,直接指出会散架的元素,并把 Gmail、Outlook 等客户端里还剩下什么并排列出来。
临时邮箱
Disposable Email
给你一个在限定时间内能收信的一次性收件箱,附件可以直接在页面里看。
CORS 跨域检测
CORS Tester
从你指定的来源发出浏览器会发的预检请求,再带上同一个 Origin 发一次 GET,并按 Fetch 标准的规则说清究竟是哪个响应头把它挡住了。
汇率换算
Currency Converter
按欧洲央行每日参考汇率经欧元交叉换算三十来种货币,也可以直接填入你自己拿到的那个汇率。