【发布时间】:2018-07-06 01:23:58
【问题描述】:
我想手动编辑以下 .plist 文件:
/Users/<myname>/Library/Mail/V5/MailData/SyncedRules.plist
因为我收到很多垃圾邮件,并且使用 Mail 将每个垃圾邮件发送者地址添加到规则中是不切实际的:
还有很多地址要添加。因为我知道一点 bash 脚本、sed 和 awk,所以我正在考虑编写一个脚本,自动将所选电子邮件中的地址添加到上面的 plist 文件中。
那么,我的问题是什么?
总之,对于每个垃圾邮件发送者地址,脚本应该添加一个新的dict 条目,其中包含以下字段:
<dict>
<key>CriterionUniqueId</key>
<string>CC4CB669-0D44-4A32-80B1-02D069718304</string> (*)
<key>Expression</key>
<string>spammer@address.spam</string>
<key>Header</key>
<string>From</string>
</dict>
(*) 处的字符串是如何生成的?如何填写?
【问题讨论】:
-
这是 Mail 内部生成的唯一 ID。我不确定你是否有办法自己做。您是否考虑过使用 AppleScript 或 Automator 通过 Mail 应用程序自动执行此操作,而不是直接编辑文件?
-
您可以尝试生成一堆与该示例具有相同长度的随机十六进制数。发生冲突的可能性微乎其微。
-
如果你说这个值是纯随机的,很容易生成新的,注意避免冲突。我的问题是该值只是随机的还是根据某些标准生成的?
-
我不知道实际的算法(我尝试搜索它,但找不到它),它可能涉及散列时间戳或类似的东西。但重要的是它们是独一无二的。
标签: bash plist spam apple-mail