2010-04-01 45 views
2

我想知道如果有人能幫助我在這導致其駕駛我瘋狂試圖得到這個工作InterIMAP,查看未讀IMAP郵件和下載附件中的C#

我與mail.dll的蹤跡工作從http://www.lesnikowski.com/mail/其中是一個非常奇妙的工具,不幸的是我不能承受作爲一個學生(即使它的周圍150eur,它還是很昂貴的對我說:/),這將是我的論文一個小模塊和我的教師可以買不起這些東西,讓學生或者:/所以無論如何,我不得不去爲一個免費的工具(所以請不要提出任何非開源的 - 相信我,我把它們都試過)..

嗯,我試圖探索臨時美聯社和幾個小時一直試圖列出我的Gmail帳戶未讀電子郵件,但它似乎並沒有工作。我可以連接得很好,但找到的未讀電子郵件似乎是一件容易的事。我已經試過無數方法,但似乎不給我未讀郵件在我的收件箱(我有電子郵件的負荷在我的收件箱和我只是想讀的人)。請有人幫助我嗎?我一直試圖讓這個工作很長一段時間,但文件是相當缺乏,我的每一個嘗試都導致迄今爲止失敗。

請幫助!

我現在有一些代碼: `IMAPConfig config = new IMAPConfig(「myhost」,「username」,「pass」,true,true,「」);

 config.CacheFile = ""; 

     IMAPClient client = null; 
     try 
     { 
      client = new IMAPClient(config, null, 5); 
     } 
     catch (IMAPException e) 
     { 
      Console.WriteLine(e.Message); 
      return; 
     } 
     Console.WriteLine(DateTime.Now.ToString()); 


     IMAPFolder f = client.Folders["INBOX"]; 
     IMAPSearchResult sResult = f.Search(IMAPSearchQuery.QuickSearchNew()); // <--- Gives me no results even though i do have unread messages! 

回答

1

老實說,我剛剛結束了使用Mail.dll試用版本interIMAP不是爲我和辦法正常工作慢,因爲它的索引由於某種原因,郵件:■

2

如果我以前不達你的目標,在這裏我們去:

您應該通過以下方式代碼:

月1日:裏面你SEARCHQUERY類,添加新屬性「未讀」,例如。 第二:添加返回IMAPSearchQuery的新方法。它會快速搜索未讀郵件。類似的東西:

public static IMAPSearchQuery QuickSearchUnread() 
    { 
     IMAPSearchQuery query = new IMAPSearchQuery(); 
     query.unread = true; 

     return query; 
    } 

3TD:內部類IMAPFolder,您有一個名爲方法將返回一個IMAPSearchResult類型以及接收IMAPSearchQuery作爲參數。 這種方法「建」與IMAP命令查詢(基於IMAP協議)查詢。 未讀查詢你應該增加:

  public IMAPSearchResult Search(IMAPSearchQuery query) 
      { 
       ... 
       if (query.Unread) 
        searchTerms.Add("UNSEEN"); 
       . 
       . 
       ... 
      } 

4:調用搜索方法與新的快速搜索:

config.CacheFile = ""; 

    IMAPClient client = null; 
    try 
    { 
     client = new IMAPClient(config, null, 5); 
    } 
    catch (IMAPException e) 
    { 
     Console.WriteLine(e.Message); 
     return; 
    } 
    Console.WriteLine(DateTime.Now.ToString()); 


    IMAPFolder f = client.Folders["INBOX"]; 
    IMAPSearchResult sResult = f.Search(IMAPSearchQuery.QuickSearchUnread()); 

讓我知道你的進步。 我希望它可以幫助。

再見。