2011-03-24 1 views

답변

0

 FolderCollection folders = client.GetFolders(); 
     foreach (Folder myfolder in folders) 
     { 
      MessageBox.Show(myfolder.Name); 
     } 

다음과 이름을 사용하여 ...입니다 : 폴더 이름에 민감한 경우가 있음을

ImapX.MessageCollection messages = client.Folders["Spam"].Search("ALL", true); 

음 ...

0

SubFolder 컬렉션을 반복 할 수 있으며 모든 해당 게이머 폴더와 그 경로를 가져올 수 있습니다. 예 :이 같은 모든 폴더 목록이 표시됩니다 다음

public IEnumerable<Folder> WalkFolderTree(FolderCollection folders) 
{ 
    foreach (var item in folders) 
    { 
     if (item.HasChildren) 
     { 
      WalkFolderTree(item.SubFolder); 
     } 
      yield return item; 
    } 

} 

: 당신은 같은 사용자 정의 순회 코드를 구현해야

var client = new ImapClient(...); 
client.Connection(); 
client.LogIn(...); 


foreach (var item in WalkFolderTree(client.Folders)) 
{ 

    Console.WriteLine(item.FolderPath); 
} 

client.LogOut(); 

INBOX 
    ... 
    [Gmail] 
    [Gmail]/All Mail 
    [Gmail]/Drafts 
    [Gmail]/Sent Mail 
    [Gmail]/Spam 
    [Gmail]/Starred 
    [Gmail]/Trash 
0

는 방법은 다음과 같습니다

 public List<string> getMailboxes(string emailAddress, string emailPassword) 
    { 
     var client = new ImapClient("imap.gmail.com", 993, true, true); 
     if (client.Connect()) 
     { 
      if (client.Login(emailAddress, emailPassword)) 
      { 
       //get all parent folers 
       var folders = client.Folders; 

       foreach (var parentFolder in folders) 
       { 
        //get parent folder path 
        var parentPath = parentFolder.Path; 

        //check if every parent folder has subfolder 
        if (parentFolder.HasChildren) 
        { 
         var subfolders = parentFolder.SubFolders; 
         foreach(var subfolder in subfolders) 
         { 
          var subPath = subfolder.Path; 
         } 
        } 
       } 
      } 
     } 
    } 
관련 문제