OGeek|极客世界-中国程序员成长平台

标题: ios - MailCore2 - 在不下载图像或附件的情况下获取邮件内容? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:03
标题: ios - MailCore2 - 在不下载图像或附件的情况下获取邮件内容?

我想提供用户消息的预览,但我不希望为此下载附件。

我需要的信息是:

通过使用请求类型 MCOIMAPMessagesRequestKindHeaders 调用方法 fetchMessagesByNumberOperationWithFolder:,我得到了日期和主题,但是如果任何消息有附件,则返回非常慢。通过使用请求类型 MCOIMAPMessagesRequestKindUid 调用它,它会非常快速地返回,仅返回 Uid(以及当前日期,作为占位符)。从那里,我仍然需要获取主题、日期和发件人。

现在我仍在尝试获取此信息,同时避免下载邮件附件。

调用 fetchParsedMessageOperationWithFolder:fetchMessageOperationWithFolder: 都下载带有附件的消息,因此返回很慢。

因为 fetchMessageOperationWithFolder:NSData 对象完成,所以检查给定对象的大小会发现它是常规消息的大小,加上它的“附件”。

如何在不下载任何附件的情况下获取我需要的信息?

编辑:调用 requiredPartsForRendering 可以给我电子邮件的内容,但为了检索日期和发件人信息,我仍然需要有一种 MCOIMAPMessagesRequestKindHeaders,它将下载附件。

所以澄清一下:

我想从 IMAP 电子邮件中获取以下信息,而不下载电子邮件附件:



Best Answer-推荐答案


以下方法应该对你有帮助:

-[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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4