我想提供用户消息的预览,但我不希望为此下载附件。
我需要的信息是:
- 主题
- 日期
- 发件人信息(显示名称(如果有)、电子邮件地址)
- 纯文本消息
通过使用请求类型 MCOIMAPMessagesRequestKindHeaders 调用方法 fetchMessagesByNumberOperationWithFolder: ,我得到了日期和主题,但是如果任何消息有附件,则返回非常慢。通过使用请求类型 MCOIMAPMessagesRequestKindUid 调用它,它会非常快速地返回,仅返回 Uid (以及当前日期,作为占位符)。从那里,我仍然需要获取主题、日期和发件人。
现在我仍在尝试获取此信息,同时避免下载邮件附件。
调用 fetchParsedMessageOperationWithFolder: 或 fetchMessageOperationWithFolder: 都下载带有附件的消息,因此返回很慢。
因为 fetchMessageOperationWithFolder: 以 NSData 对象完成,所以检查给定对象的大小会发现它是常规消息的大小,加上它的“附件”。
如何在不下载任何附件的情况下获取我需要的信息?
编辑:调用 requiredPartsForRendering 可以给我电子邮件的内容,但为了检索日期和发件人信息,我仍然需要有一种 MCOIMAPMessagesRequestKindHeaders ,它将下载附件。
所以澄清一下:
我想从 IMAP 电子邮件中获取以下信息,而不下载电子邮件附件:
- 主题
- 日期
- 发件人信息(显示名称(如果有)、电子邮件地址)
- 纯文本消息
Best Answer-推荐答案 strong>
以下方法应该对你有帮助:
-[MCOAbstractMessage requiredPartsForRendering] 将返回您需要获取的消息部分才能显示消息的文本内容。
-[MCOIMAPSession fetchMessageAttachmentOperationWithFolder:uid:partID:encoding:] 将帮助您获取这些部分。
-[MCOIMAPMessage htmlRenderingWithFolder:delegate:] 将以 HTML 格式返回呈现的内容(如果您不通过委托(delegate)提供部件的所有内容,则返回 nil。
如果您想将 HTML 转换为未格式化的字符串,-[NSString mco_flattenHTML] 也很有用。
关于ios - MailCore2 - 在不下载图像或附件的情况下获取邮件内容?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/29633815/
|