2013-05-13 16 views
1

檢索郵件.xml擴展附件如何使用MailCore爲iPhone來檢索郵件.xml擴展名的附件如何使用MailCore到樣品的iPhone應用程序

我用MailCore從我的郵件中下載附件到我的示例iPhone應用程序。我從我的郵件中獲取收件箱主題,該主題是我分類以獲取特定郵件主題和郵件附件的主題。

問題是我得到了特定的郵件主題,但沒有附件。我使用下面的代碼從郵件中獲取附件,但它不起作用。

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

,但我發現:

Array count is zero 

請分享您的想法。

回答

2

這可能有幾個原因:

1)這可能是你沒有下載有關CTCoreMessage足夠的信息。當提出下載CTCoreMessages的請求時,您必須通過指定正確的提取屬性來指定所需的信息。

例如:

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

應填寫有關附件的信息。

從IMAP提取郵件時,該命令將精確指定它想要的信息。

你可以看到什麼,正在獲取啓用MailCore記錄如下:

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中作爲第ese將包含有關附件的信息。

當您看到實際提取的內容時,您可以使用read the RFC,如果您正在處理mailcore和IMAP,那麼它很值得您及時投資。

2)如果失敗,可能是您的CTCoreAccount和/或CTCoreFolder未連接,從而阻止CTCoreMessage具有有效的mailimapsession並且無法下載附件信息。如果CTCoreMessage中的屬性不可用,那麼libetpan應該根據請求下載它。事實並非表明您的帳戶或文件夾可能無效或無法連接。

+0

我如何通過使用Mailcore來檢索郵件中的特定郵件...例如,將參數linke特定主題發送到地址或bwt日期,就像那個..它可能來自MailCore ..到目前爲止,我已經檢查過。這兩種方法只針對來自Inbox的所有郵件,不包括1. [self.Folder_inbox messagesFromSequenceNumber:1 to:0 withFetchAttributes:CTFetchAttrEnvelope | CTFetchAttrBodyStructure]; ,2。[自我。Folder_inbox messagesFromUID:1 to:0 withFetchAttributes:CTFetchAttrBodyStructure];有任何具體的方法來檢索特定的郵件。請分享你的想法它對我有幫助 – 2013-05-17 06:40:53

+0

如果你想要從CTCoreMessage的初始化獲取附件,那麼你必須設置「CTFetchAttrEnvelope | CTFetchAttrBodyStructure」作爲獲取屬性。您的評論似乎完全提出了一個不同的問題,即「我如何搜索特定的消息」。對於這個問題,你最好把它當作這裏的一個單獨問題來討論,因爲它是一個與這篇文章完全無關的複雜答案。 – JConway 2013-05-21 10:25:05

+0

@ JConway ...謝謝你......如果你有想法?請分享....我如何使用MailCore搜索特定消息...? – 2013-05-23 07:18:44

相關問題