我想提供用户邮件的预览,但我不想仅仅为了这样做而下载附件。
我需要的信息是:
通过使用请求类型fetchMessagesByNumberOperationWithFolder:
调用方法MCOIMAPMessagesRequestKindHeaders
,我会获得日期和主题,但如果任何邮件包含附件,则返回的速度非常慢。通过请求类型MCOIMAPMessagesRequestKindUid
调用它,它返回非常快,只有Uid
(和当前日期,作为占位符)。从那里,我仍然需要获得主题,日期和发件人。
现在我仍在尝试获取此信息,同时避免下载邮件附件。
调用fetchParsedMessageOperationWithFolder:
或fetchMessageOperationWithFolder:
都会下载包含附件的邮件,因此返回的速度非常慢。
由于fetchMessageOperationWithFolder:
以NSData
对象完成,因此检查给定对象的大小会将其显示为常规消息的大小,加上其对象的大小。附件。
如何在不下载任何附件的情况下获取所需信息?
编辑:致电requiredPartsForRendering
可以向我提供电子邮件的内容,但为了检索日期和发件人信息,我仍然需要MCOIMAPMessagesRequestKindHeaders
的请求,哪个会下载附件。
所以澄清一下:
我希望从IMAP电子邮件中获取以下信息,而无需下载电子邮件附件:
答案 0 :(得分:2)
以下方法对您有所帮助:
-[MCOAbstractMessage requiredPartsForRendering]
将返回您需要提取的消息部分,以便能够显示消息的文本内容。
-[MCOIMAPSession fetchMessageAttachmentOperationWithFolder:uid:partID:encoding:]
将帮助您获取每个部分。
-[MCOIMAPMessage htmlRenderingWithFolder:delegate:]
会将呈现的内容作为HTML返回(如果您不通过代理提供部分的所有内容,则返回nil。
-[NSString mco_flattenHTML]
也很有用。