2012-03-20 29 views
0

IM一個.net IMAP客戶端IMAP取返回{6} {15}

上工作時我取信封我回來這樣

  • 2行FETCH(FLAGS(\ SEEN)INTERNALDATE 「2011年11月13日02:38:07 -0700」RFC822.SIZE 10993 UID 62 ENVELOPE(「2011年11月13日12:37:32 +0200」「您的訂單」(({15}

  • 1 FETCH (FLAGS(\ SEEN)INTERNALDATE「11-Nov-2009 13:54:35 -0700」RFC822.SIZE 38501 UID 1 ENVELOPE(「Wed,11 Nov 2009 17:50:29 -0400」「Newegg.com - 訂單確認「(({{6}

    新蛋NIL 「信息」, 「newegg.com」))(({6}

    新蛋NIL 「信息」, 「newegg.com」))NIL((NIL NIL 「辦公室」, 「mysite.com」 ))NIL NIL NIL 「」))

包絡的其餘部分是從下一行的

有時它打破在{15}等的第一

有時

在{6}

也許還有其他人也,到目前爲止,我有這些

我嘗試過許多不同編碼的StreamWriter的和/或StreamReader的(ASCII,UTF7,UTF8)

那麼這些數字意味着什麼呢?或者我怎麼才能正確地讀取直到結束的線

非常感謝!

回答

1

如果您正在實現自己的客戶端而不是使用現有的庫,則需要閱讀IMAP協議。花括號中數字的含義很好地解釋爲in the RFC

這是一個文字。括號內的數字後面總是跟着一行結尾(CRLF),然後是一些構成字符串值的原始字節。括號之間的數字是以下原始字節數的計數。您需要在CRLF後精確讀取許多原始字節(並且要小心編碼和行結束轉換:如果您解碼文本或翻譯行尾,那麼您可能會讀取錯誤的原始字節數)。

+0

謝謝。與此同時,我在自己的客戶,開源和商業之間進行雜耍。我們讚賞你的澄清。 – 2012-03-22 08:01:48