ios - MailCore2 - 在不下载图像或附件的情况下获取邮件内容?

标签 ios objective-c email mailcore2

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

我需要的信息是:

  • 主题
  • 日期
  • 发件人信息(显示名称,如果可用,电子邮件地址)
  • 纯文本消息

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

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

调用 fetchParsedMessageOperationWithFolder:fetchMessageOperationWithFolder: 都会下载带有附件的消息,因此返回速度非常慢。

因为 fetchMessageOperationWithFolder:NSData 对象完成,检查给定对象的大小表明它是常规消息加上其附件的大小。

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

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

所以澄清一下:

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

  • 主题
  • 日期
  • 发件人信息(显示名称,如果可用,电子邮件地址)
  • 纯文本消息

最佳答案

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

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

相关文章:

ios - 从 nsdictionary 中删除键/值

ios - Xamarin iOS 本地通知不起作用

ios - 如何禁用 UIButton?

html - 如何将底部的按钮对齐在同一行?

java - 如何创建带有变音符号和 unterscore 的邮件附件文件名?

iphone - UILongPressGestureRecognizer 不工作

iphone - 亚马逊网络服务问题。我应该为网络服务付费吗?

ios - UITextFieldDelegate textFieldShouldReturn 调用者

iphone - EXC_BAD_ACCESS 同时将对象添加到开关内的一个数组

php - 如何使用 Office 365 邮箱以编程方式读取和发送加密电子邮件?