如何使用 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 扩展附件的主要内容,如果未能解决你的问题,请参考以下文章