在Mail.app插件中以编程方式读取和更改to / cc / bcc字段

时间:2011-07-28 20:19:36

标签: macos apple-mail

有没有人成功找到改变Mail.app插件中外发邮件的to,cc和bcc字段的方法?我一直在查看头文件,试图找出我需要做什么来获取邮件的收件人列表,并能够更改它们(具体来说,删除一些收件人并切换剩余的收件人是bcc'ed)。

注意:我知道在哪里需要查看如何执行此操作,但我已经花了一些时间在这上面并且有很多不同的类来执行此操作并且需要的猜测量是非常重要的。我只是希望有人在过去已经经历过这一切,并且可以让我免于重复工作。

1 个答案:

答案 0 :(得分:1)

想出来!

用于撰写邮件的窗口是MailDocumentEditor,它继承自DocumentEditor。 DocumentEditor有一个名为_headersEditor的实例变量,它是一个HeadersEditor对象。

HeadersEditor包含to,cc和bcc字段的实例变量,分别名为_toField,_ccField和_bccField。这些是AddressTextField的实例。

有些方法可以为您提供已输入AddressTextField的地址。如果您熟悉Mail,则可以通过几种不同的方式在此处显示地址。有些只是纯文本地址,有些是地址簿条目的标记(因此它们显示为带有名称的标记,您可以右键单击以获取电子邮件地址)。您可以为NSMutableArray * s _stringsWithNoRecords和_stringsAwaitingRecords以及NSMutableDictionary * _recordsForStrings创建访问器。

但是,要设置这些字段的地址,请使用initTextCell:(NSString *)创建一个NSCell,其中包含您在这些字段中所需的电子邮件地址。然后,在AddressTextField上调用setCell:方法。这将用NSCell中的NSString替换该字段的内容。