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