Mac 邮件安装默认签名

Mac Mail install default signature

我正在尝试创建一个 python 脚本,它会为 Mac 邮件帐户安装默认签名。到目前为止,我的脚本通过操作 ubiquitous_AllSignatures.plist 并创建相应的 ubiquitous_<SignatureId>.mailsignature 成功安装了签名。这两个文件都位于 ~/Library/Mobile Documents/com~apple~mail/Data/V3/MailData/Signatures/。问题是安装的签名不被 Mail 识别为默认签名,为了使用签名,您必须在撰写电子邮件时在签名下拉列表中手动 select 它。

我在文件系统中搜索了很长时间,很难找到一个相关的 plist,它规定了给定帐户的 'default' 签名行为。我已经为签名 ID 进行了 grep,除了上面提到的地方之外,我唯一能看到它的地方是 ~/Library/Application Support/CloudDocs/session/db/ 中的 sqlite 文件。我认为这不是我的默认签名安装可行性的好兆头。

我知道这是一个非常 specialized/weird/hacky 的问题,但我正在寻找对 Mac 邮件中控制帐户默认签名的底层机制的一些见解,或者至少确认我怀疑没有 Mail 的同意就不可能这样做。非常感谢任何反馈。

好吧,我知道这非常晦涩难懂,但是由于我对晦涩难懂的问题进行自我回答对我帮助很大,所以我会尽力帮助将来可能遇到这个问题的任何人。

'default' 签名确实设置在 plist 中。这个 plist 是 ~/Library/Containers/com.apple.mail/Data/Library/Preferences/com.apple.mail.plist。请注意,这是一个二进制 plist,它与 xml plist 不同且可读性差得多。但不要担心,您可以使用 plutil 实用程序来回转换 b/w 二进制和 xml。您可以使用 biplist 在 python 中访问此实用程序,万岁!现在只需通过为帐户 ID(密钥)添加签名 ID(字符串)来操作 plist 中的 SignaturesSelected 字典。您将设置默认签名!