如何使用 MailCore 到 Sample iPhone 应用程序从邮件中检索 .xml 扩展附件

Posted

技术标签:

【中文标题】如何使用 MailCore 到 Sample iPhone 应用程序从邮件中检索 .xml 扩展附件【英文标题】:How to retrieve the .xml extension attachments from mail by using MailCore to Sample iPhone app 【发布时间】:2013-05-07 03:12:14 【问题描述】:

如何使用 MailCore for iphone 从邮件中检索 .xml 扩展附件

我使用 MailCore 将附件从我的邮件下载到我的示例 iPhone 应用程序。我从我的邮件中获取收件箱主题,这些主题我排序以获得特定的邮件主题和邮件附件。

问题是我收到了特定的邮件主题,但没有附件。我使用下面的代码从邮件中获取附件,但它不起作用。

NSArray *Array=[msg attachments];
CTBareAttachment *ctbaratt=[Array objectAtIndex:0];
CTCoreAttachment *ctcoreatt=[ctbaratt fetchFullAttachment];

但我得到了:

Array count is zero

请分享你的想法。

【问题讨论】:

【参考方案1】:

这可能有几个原因:

1)您可能没有下载足够的有关 CTCoreMessage 的信息。在发出下载 CTCoreMessages 的请求时,您必须通过指定正确的 fetch 属性来指定所需的信息。

例如:

[core_folder messagesFromSequenceNumber:from to:to withFetchAttributes: CTFetchAttrEnvelope | CTFetchAttrBodyStructure]

应填充有关附件的信息。

从 IMAP 获取消息时,该命令将准确指定它想要的信息。

您可以通过启用 MailCore Logging 来查看正在获取的内容,如下所示:

MailcoreEnableLogging();
[core_folder messagesFromSequenceNumber:from to:to withFetchAttributes: CTFetchAttrEnvelope | CTFetchAttrBodyStructure];
MailcoreDisableLogging();

你会看到格式的命令

<command number> <UID> <Command> (<requested structure>)

我想你会看到这样的:

1 UID FETCH (ENVELOPE)

您应该确保在 () 中包含 BODY 或 BODY[2] 或 RFC822,因为它们将包含有关附件的信息。

当您看到实际获取的内容时,您可以read the RFC,如果您正在处理邮件核心和 IMAP,那么花时间投资是非常值得的。

2) 否则,可能您的 CTCoreAccount 和/或 CTCoreFolder 未连接,从而阻止 CTCoreMessage 具有有效的 mailimapsession 并且无法下载附件信息。如果 CTCoreMessage 中的属性不可用,则 libetpan 应根据请求下载它。事实并非表明您的帐户或文件夹可能无效或未连接。

【讨论】:

我如何使用 Mailcore 从我的邮件中检索特定邮件..例如发送参数链接特定主题、地址或 bwt 日期这样的.. 是否有可能来自 MailCore.. 到目前为止我参考文献。这两种方法仅用于不特定收件箱中的所有邮件,1.[self.Folder_inbox messagesFromSequenceNumber:1 to:0 withFetchAttributes: CTFetchAttrEnvelope | CTFetchAttrBodyStructure]; ,2.[self.Folder_inbox messagesFromUID:1 to:0 withFetchAttributes:CTFetchAttrBodyStructure];有任何特定的方法来检索特定的邮件。请分享您的想法,这对我有帮助 如果要从 CTCoreMessage 的初始提取中检索附件,则必须将“CTFetchAttrEnvelope | CTFetchAttrBodyStructure”设置为提取属性。您的评论似乎完全提出了一个不同的问题,即“我如何搜索特定消息”。为此,您最好在此处将其作为一个单独的问题提出,因为这是一个与本文完全无关的复杂答案。 @JConway...谢谢伙计...如果您有想法?请分享....我如何使用 MailCore 搜索特定消息...?

以上是关于如何使用 MailCore 到 Sample iPhone 应用程序从邮件中检索 .xml 扩展附件的主要内容,如果未能解决你的问题,请参考以下文章

如何在mailcore2中获取电子邮件正文

mailcore2如何在swift中实现它

使用 mailcore2 在 gmail 帐户中创建标签

MailCore 如何删除邮件

如何使用mailcore2获取邮件的发件人资料图片

如何使用 mailcore 框架或任何框架从 swift/objective c 中的电子邮件代理中获取收件箱?