3

有没有人成功地想出在 Mail.app 插件中更改外发消息的 to、cc 和 bcc 字段的方法?我一直在查看头文件,试图弄清楚我需要做什么才能获取邮件的收件人列表,并能够更改它们(特别是删除一些收件人并将剩余的收件人切换为密件抄送)。

注意:我知道我需要在哪里寻找以了解如何做到这一点,但我已经花了一些时间,并且有很多不同的类可以做到这一点,而且所需的猜测量并不小。我只是希望有人过去已经经历过这件事,并且可以使我免于重复的努力。

4

1 回答 1

2

弄清楚了!

用于撰写邮件的窗口是 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 替换该字段的内容。

于 2011-08-02T21:53:39.033 回答