2016-03-05 49 views
0

我正在嘗試創建一個爲Mac郵件帳戶安裝默認簽名的python腳本。到目前爲止,我的腳本通過操作ubiquitous_AllSignatures.plist並創建相應的ubiquitous_<SignatureId>.mailsignature來成功安裝簽名。這兩個文件都在~/Library/Mobile Documents/com~apple~mail/Data/V3/MailData/Signatures/。問題是安裝的簽名不被Mail識別爲默認簽名,並且爲了使用簽名,您必須在撰寫電子郵件時在簽名下拉列表中手動選擇它。Mac Mail安裝默認簽名

我已經搜索了很久的文件系統,很難找到一個相關的plist,它指定給定帳戶的「默認」簽名行爲。我已經grep'd的簽名ID和唯一的地方,我可以看到除了上面提到的地方是在~/Library/Application Support/CloudDocs/session/db/ sqlite文件。我不認爲這是我的默認簽名安裝的可行性的好兆頭。

我知道這是一個非常專業/奇怪/哈克問題,但我正在尋找一些洞察控制Mac郵件帳戶的默認簽名的底層機制,或者至少證實我懷疑這是不可能的在未經Mail同意的情況下這樣做。任何反饋都非常感謝。

回答

1

好的,我意識到這是令人難以置信的晦澀難懂,但因爲我對自己的答案有很大的幫助,所以我會盡力幫助任何可能在將來面臨這個問題的人。

「默認」簽名的確設置在plist中。這plist是~/Library/Containers/com.apple.mail/Data/Library/Preferences/com.apple.mail.plist。疲憊,這是一個二元plist,這是一個不同的,並且比xml plist更不可讀。但不要害怕,您可以使用plutil實用程序來回轉換黑白二進制文件和xml文件。你可以用biplist來訪問python中的這個工具,hooray!現在只需要通過爲賬戶ID(密鑰)添加簽名ID(字符串)來操縱plist中的SignaturesSelected字典。你將設置你的默認簽名!