检查本地文件交付记录
创建字节不变的命名副本、检查plist类型对象,并按明确身份与计数政策读取完整DMARC观察。
明确实际文件交付
把version 1放在文件扩展名前,需要真正命名的文件副本;读取二进制plist,需要带类型的值报告。保留原输入和完整输出,改一个标签或只给少量预览都不能完成实际任务。
| 工具 | 明确决策 | 交付 |
|---|---|---|
| T304 | 前缀/后缀/序号;最终扩展名 | STORE ZIP + every source/target/SHA256 JSON/CSV |
| T305 | 原始整数宽度/符号;UTC预览政策 | Full typed root + all objects/references JSON |
| T306 | 版本化接收方对齐、认证与处置;重复身份 | 完整源映射、政策、认证、原XML JSON及全部行CSV |
使用命名副本前核对
核对过的4文件批次包含File 1.txt、.gitignore、报告.final.csv和无扩展名文件,合计19字节。后缀version 1位于最终扩展名前;.gitignore保持完整点文件基名。序号模式把明确十进制序列接在后缀后,不能猜测用户未选择的编号布局。
独立ZIP读取逐个核对条目名、STORE方式、CRC、全部字节及源SHA256;完整JSON/CSV逐行比较。源名完全重复及NFC/小写目标冲突在哈希或归档分配前整批拒绝;便携名拒绝路径、设备名和尾点/空格。
- 选择1–1000文件,单个20MiB、合计80MiB;目标200个UTF16单位、前后缀各256个UTF8字节。
- 序号0–999999999、位宽0–9;保留选择顺序,最终序号也须在范围内。
- 下载全部原名→目标行;200行/2000单位预览有明确边界。CSV公式保护添加单引号,JSON保留原文本。
- 交付为副本;所选磁盘文件名/内容保持完整,取消不返回部分成功ZIP。
保留plist类型与原始数值含义
此处8字节二进制整数按有符号解码,16字节也作为原始有符号数据;两者均以十进制字符串保留宽度、符号和rawHex,不悄悄转换为JavaScript浮点。UID仅为无符号数值数据。全部对象包括未引用对象均校验标记、范围、引用、循环、深度和访问量;未知未引用对象整份拒绝。
XML例子保留整数词面00018446744073709551615及十进制值18446744073709551615、负零IEEE位,以及2026-10-07T00:00:00.999999999999Z的12位小数。ISO预览为00:00:01.000Z,仍保留完整输入日期;二进制预览用精确IEEE有理数秒数舍入,不依赖有损乘法。
| 值 | 完整保留字段 | 范围 |
|---|---|---|
| Integer | decimal/width/sign/rawHex;XML lexical | 不承诺统一NSObject128位解释 |
| Float/date | IEEE bits,negative zero,seconds or full UTC lexeme | 有限值;明确最近毫秒预览 |
| Data/UID | Canonical base64 or unsigned decimal/width/rawHex | 不实例化对象 |
在明确边界内读取完整报告
一个8MiB plist支持100k对象/XML元素、64层容器及200k展开访问,二进制物理引用也最多200k。所有预算同时适用;32MiB JSON上限在共享图重复引用序列化前校验。预览仅显示200个根值节点,完整JSON含全部原始对象、引用、未引用索引与源SHA256。
标准Apple外部doctype文字保持惰性且不抓取;不支持的XML声明、PI、属性、自定义DTD/实体、非法UTF16、非有限浮点或循环/坏引用均失败。解析器不实例化NSKeyedArchiver类、不回写plist,也不判断文件可信与否。
读取聚合观察,不猜测结论
用户看到陌生IP与失败检查,但处置全为none;另一用户询问成功投递时为何仍收到报告。这些是接收方观察:原始DKIM通过本身不证明与Header From对齐,none描述处置而不是失败布尔值。T306分别保留每个声明对齐标记、认证域、selector、scope、结果、政策原因与处置。
实际核对批次包含旧报告、现代报告及现代XML完全相同的gzip副本。八条源记录去重为两个报告中的五行,共19次观察,接收方声明对齐通过14次、失败5次;处置none为9次、现代pass为7次,不用处置替代对齐结果。
报告身份包括组织、邮箱、报告ID、政策域和begin/end。去重要求展开XML全部字节相同,仍映射全部源名、源SHA256及XML SHA256;矛盾身份整批拒绝。计数使用精确十进制字符串,可超出JavaScript精度;它们是跨接收方观察数,不是按唯一邮件去重的数量。
| 事实 | 保留数据 | 读取政策 |
|---|---|---|
| 接收方对齐 | 声明DKIM/SPF对齐pass/fail | 任一明确pass算对齐;未知或缺失拒绝 |
| 原始认证 | 全部域、selector、scope、结果 | 不从原始pass推断对齐 |
| 处置 | 按版本保留none/pass/quarantine/reject | 分别加权统计;不作投递或安全结论 |
- 1–100个XML/XML.gz,编码单个2 MiB、合计80 MiB;展开单个8 MiB、合计80 MiB;10,000条源记录、200,000个XML元素、64层深度;完整JSON与CSV合计32 MiB。全部预算同时适用。
- 分别支持无命名空间RFC 7489与RFC 9990 dmarc-2.0;现代必需selector、SPF数量及pass处置不按旧格式静默解释。
- 校验每个gzip成员及CRC,包括拼接成员;不支持ZIP、DTD、实体、PI,也不抓取报告、查询DNS或验证签名。
- 完整JSON保留惰性扩展索引XML、属性、混合内容和注释;解析规范化XML换行、实体与属性值,省略根外空白,源哈希保留字节身份。未知核心或不支持扩展位置整批拒绝。
- 下载包含全部记录;表格只预览200行、每格2,000单位。取消不返回部分成功。
参考资料
- 用户任务:扩展名前加版本文字
2026-10-07已读正文;在基名后添加version 1并保留扩展名。
- 用户任务:读取二进制plist值
2026-10-07已读正文;用户需要读取内容,而非只有XML转换步骤。
- Python plistlib类型读取
独立类型读取参考;另用低层校验保留原宽度、位、未引用对象与引用。
- 用户任务:失败记录为什么处置仍为none
2026-10-07已读正文;必须区分声明对齐与处置,不能猜测陌生IP是否属于发件方。
- 用户任务:理解成功投递时的聚合报告
2026-10-07已读正文;聚合观察报告不是仅失败告警,也不能证明最终投递。
- RFC 7489旧聚合字段
2026-10-07已读原模式和语义;首版明确支持无命名空间旧报告。
- RFC 9990当前聚合模式
2026年5月原规范于2026-10-07读过;dmarc-2.0命名空间、pass处置与现代字段数量分别保留。
本分类工具使用说明
展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。
文件副本批量命名与完整计划为本地副本添加文件名前缀、后缀或序号,保留最终扩展名,并把原件全部字节不变地交付为 ZIP。
选择一批本地文件并明确命名计划。先校验全部便携目标名,再生成字节不变的副本;所选原件的名称与内容保持不变。
操作步骤
- 按预期编号顺序选择全部原文件。
- 设置前缀、后缀与可选序号。
- 审阅完整命名政策和有界预览。
- 下载ZIP及完整JSON/CSV,在使用副本前核对哈希。
可调选项
- 前缀
- 按需要填写
放在完整主文件名前。
- 后缀
- version 1
放在主文件名后、序号和最终扩展名前。
- 序号模式
- 不添加序号 · 在后缀后添加序号
按选择顺序连续编号。
- 起始序号
- 1
无符号十进制0–999999999;加上批次序号后仍须在范围内。
- 序号最小位宽
- 0
0–9位;只补前导零,不截断。
能力与限制
- 1–1,000 个文件,单个20MiB、合计80MiB。目标名最多200个UTF16单位;前缀与后缀各最多256个UTF8字节;起始序号0–999999999、补零宽度0–9、最终序号≤999999999,各限制同时适用。ZIP/JSON/CSV合计96MiB是受源文件预算支配的保护上限。
- 首字符之后的最后一个点划分要保留的扩展名:a.final.txt→a.final version 1.txt;.gitignore等仅含前导点的名称与无扩展名文件保留完整基名。序号直接接在后缀后,需要分隔符时在后缀中明确填写。
- 只接受平面便携目标名:路径、控制字符、Windows禁用标点/设备名及尾部空格/点均拒绝。完全同名的源文件或经NFC→Unicode小写→NFC产生的目标冲突整批拒绝。不处理目录、不执行正则,也不原地改名。目标须为合法Unicode;源基名512个UTF16单位上限为额外保护限制。
- 表格预览200行、每格2,000个UTF16单位;JSON/CSV保留全部原名、目标名、字节数与SHA256。CSV中可触发公式的单元格前加单引号。输入无效或取消时不产生部分成功归档。
二进制与 XML plist 类型检查读取本地 plist 的全部对象和引用,保留整数宽度、符号、浮点原始位与完整类型 JSON 报告。
检查一个bplist00或UTF8 Apple XML plist,不实例化归档类。校验全部二进制对象,包括未引用对象;下载报告保留类型根、完整对象目录、原始引用及源SHA256。
操作步骤
- 选择一个本地二进制或XML plist。
- 查看根类型、校验对象、未引用对象与明确原始数值政策。
- 下载完整类型JSON,检查全部对象/引用,而非仅看有界预览。
能力与限制
- 一个8MiB文件;最多100,000个二进制对象或XML元素、64层容器,每个被校验对象/根展开最多200,000次访问;二进制物理引用额外最多200,000个。各预算同时适用;完整类型JSON≤32MiB,在重复序列化共享引用前先校验。
- 支持二进制null、布尔、ASCII/合法UTF16BE字符串、data、数组、唯一字符串键字典、有限float32/64、date及≤8字节UID。1/2/4字节整数按无符号、8/16字节按有符号解码,保留十进制字符串、宽度、符号与rawHex。原始128位值不承诺统一NSObject解释,UID仅为惰性数值数据。
- XML1.0 UTF8必须为plist version1.0,只接受已定义声明及标准Apple外部doctype且绝不抓取。未知属性、标签、PI、自定义DTD/实体或类型均拒绝。XML整数保留词面及−2^127…2^128−1十进制值,不推断二进制宽度/符号;Base64填充位须规范,字典顺序保留。
- 日期保留二进制秒数/IEEE64位或完整XML UTC词面YYYY-MM-DDTHH:mm:ss[.fraction]Z;XML年份0001–9999、不支持闰秒。ISO预览先把原二进制秒数或XML小数秒舍入到最近毫秒,中点远离零,再加对应纪元/日期,须落在JavaScript ISO日期范围内。报告仍保留输入全部小数精度。
- 循环、截断/重叠/重复偏移、坏引用、未引用对象中的未知标记、非有限浮点及非法UTF16均整份拒绝。只预览根值200个节点、每格2,000个UTF16单位;完整JSON包含全部对象与引用。仅只读解析,不回写、不执行NSKeyedArchiver,也不输出信任/安全结论。
读取DMARC聚合观察报告读取本地RUA XML或gzip批次,保留精确加权观察数、完整声明政策与认证记录,并明确处理重复报告。
在本地检查已收到的聚合报告。区分接收方声明的DKIM/SPF对齐、原始认证结果和处置,然后下载全部源映射、政策、记录、认证结果与保留的XML信息集。
操作步骤
- 选择已经收到的本地RUA XML或XML.gz报告。
- 比较接收方声明对齐、原始认证和处置,并核对源文件去重。
- 下载完整JSON/CSV,读取全部行和完整保留的XML信息集。
能力与限制
- 选择1–100个XML或XML.gz文件,单个编码输入最多2 MiB,合计80 MiB。展开XML单个最多8 MiB,批次合计80 MiB;去重前源记录合计10,000条、XML元素合计200,000个、深度64层。完整JSON与CSV合计最多32 MiB。全部限制同时适用;源文件名另有512个UTF-16单位的保护限制。
- 首版支持无命名空间的RFC 7489旧报告,以及命名空间为urn:ietf:params:xml:ns:dmarc-2.0的RFC 9990报告,分别校验必需字段、顺序、数量和枚举。RFC 9990的pass处置与none明确区分。其他核心字段、命名空间、版本、缺失对齐标记或未知对齐值明确整批拒绝,不推断为通过。
- 仅支持UTF-8 XML 1.0、原始XML或经过校验的gzip,不支持ZIP输入。校验每个gzip成员,包括拼接成员的结构、可选头CRC、完整CRC及解码大小。非法编码、DTD、自定义实体和处理指令均拒绝。链接和外部扩展内容保持惰性,不发起网络或DNS请求。
- 报告身份由组织、联系邮箱、报告ID、政策域及声明begin/end构成。同一身份且展开XML全部字节相同的报告只统计一次,仍保留全部源映射;同一身份的XML字节不同则整批拒绝,包括排版或注释差异。计数保留原始词面和精确十进制字符串。
- JSON保留全部元数据、政策、多个DKIM/SPF结果、原因、受支持位置声明的外部扩展,以及保留名称、属性、有序混合内容和注释的索引XML信息集。解析会规范化XML换行、实体与属性值,根元素外的文档空白省略;源文件和展开XML的SHA256保留字节身份。首版要求指定扩展位置使用外部命名空间。
- 表格预览200行,每格2,000个UTF-16单位;下载包含完整记录。计数是跨接收方的观察数,不是唯一邮件数。本工具不验证DNS、签名、投递、入侵、发件方所有权或报告真实性,也不抓取报告。整批错误或取消均不返回部分成功输出。