2017-07-31 27 views
0

私はOutlookと他のメールクライアントが、私はMailKitのgetSubfoldersオプションを取得しています自分のアカウントに複数のフォルダを示して気づいたしかし、私は、サーバーMailKitのgetSubfoldersオプション

C: A00000005 LIST "" "INBOX.%" RETURN (SUBSCRIBED CHILDREN STATUS (UIDVALIDITY)) 
S: * LIST (\HasNoChildren \UnMarked) "." INBOX.kkkk 
S: * STATUS INBOX.kkkk (UIDVALIDITY 1491227899) 
S: * LIST (\HasChildren \UnMarked) "." INBOX.Archive 
S: * LIST (\HasChildren \UnMarked) "." INBOX.spam 
S: * LIST (\Subscribed \HasNoChildren \UnMarked) "." INBOX.Sent 
S: * STATUS INBOX.Sent (UIDVALIDITY 1491227490) 
S: * LIST (\Subscribed \HasNoChildren \UnMarked) "." INBOX.Junk 
S: * STATUS INBOX.Junk (UIDVALIDITY 1491227488) 
S: * LIST (\Subscribed \HasNoChildren \UnMarked) "." INBOX.Drafts 
S: * STATUS INBOX.Drafts (UIDVALIDITY 1491227487) 
S: * LIST (\Subscribed \HasNoChildren \UnMarked) "." INBOX.Trash 
S: * STATUS INBOX.Trash (UIDVALIDITY 1491227603) 
S: A00000005 OK List completed (0.001 + 0.000 secs). 

にこのリクエスト/レスポンスを発するMailkit getSubfoldersオプションメソッドを使用しています。特にINBOX.INBOX.dfgdfgフォルダ。私はLIST "" INBOX。* "(%を*に変更する)を実行しました。この時点でサーバは欠落しているフォルダを返します(下記参照)。私の質問は、MailKitメソッドを使ってINBOX.INBOX.dfgdfgフォルダに移動する方法です。

C: A00000005 LIST "" "INBOX.*" RETURN (SUBSCRIBED CHILDREN STATUS (UIDVALIDITY)) 
S: * LIST (\HasNoChildren \UnMarked) "." INBOX.kkkk 
S: * STATUS INBOX.kkkk (UIDVALIDITY 1491227899) 
S: * LIST (\HasChildren \UnMarked) "." INBOX.Archive 
S: * LIST (\Subscribed \HasNoChildren \UnMarked) "." INBOX.Archive.000 
S: * STATUS INBOX.Archive.000 (UIDVALIDITY 1491227889) 
S: * LIST (\HasNoChildren \UnMarked) "." INBOX.Archive.aaaaa 
S: * STATUS INBOX.Archive.aaaaa (UIDVALIDITY 1491227877) 
S: * LIST (\HasChildren \UnMarked) "." INBOX.spam 
S: * LIST (\HasNoChildren \UnMarked) "." INBOX.spam.666 
S: * STATUS INBOX.spam.666 (UIDVALIDITY 1491227878) 
S: * LIST (\HasNoChildren \UnMarked) "." INBOX.spam.nnhnhn 
S: * STATUS INBOX.spam.nnhnhn (UIDVALIDITY 1491227870) 
S: * LIST (\HasNoChildren \UnMarked) "." INBOX.spam.test 
S: * STATUS INBOX.spam.test (UIDVALIDITY 1491227856) 
S: * LIST (\Subscribed \HasNoChildren \UnMarked) "." INBOX.Sent 
S: * STATUS INBOX.Sent (UIDVALIDITY 1491227490) 
S: * LIST (\Subscribed \HasNoChildren \UnMarked) "." INBOX.Junk 
S: * STATUS INBOX.Junk (UIDVALIDITY 1491227488) 
S: * LIST (\Subscribed \HasNoChildren \UnMarked) "." INBOX.Drafts 
S: * STATUS INBOX.Drafts (UIDVALIDITY 1491227487) 
S: * LIST (\Subscribed \HasNoChildren \UnMarked) "." INBOX.Trash 
S: * STATUS INBOX.Trash (UIDVALIDITY 1491227603) 
S: * LIST (\HasNoChildren \UnMarked) "." INBOX.INBOX.dfgdfg 
S: * STATUS INBOX.INBOX.dfgdfg (UIDVALIDITY 1491227900) 
S: A00000005 OK List completed (0.001 + 0.000 secs). 

答えて

0

私の質問に答えることができました。 ImapClient.GetFoldersはあなたが再帰したい場合はGetSubfolders()によって返された各フォルダにGetSubfolders()を呼び出すことを意味しているINBOX.INBOX.dfgdfg

行方不明
0

を含む名前空間内のすべてのフォルダを返しています。

*を使用しての問題は、ユーザがシンボリックリンクを持っている場合、それは適切にシンボリックリンクの再帰を検出していないため、一部のIMAPサーバ( UW.IMAPd )に、サーバーの応答が終了したことがないということです。

+0

まあ... UW.IMAPdのようなサーバーをサポートしていないほうが、自分のアプリケーションでは見えないフォルダ(他の一般的な電子メールクライアントでは見えるフォルダ)を持つよりも良いでしょう。他の電子メールクライアントがそれらのフォルダを表示しているという事実は、私がこのフォルダINBOX.INBOX.dfgdfgを報告するために他の方法を見つけることができないので、LIST INBOX。*ではなくLIST INBOX。 – ekalchev

関連する問題