【问题标题】:imap fetch return {6} {15}imap 获取返回 {6} {15}
【发布时间】:2012-04-05 02:46:50
【问题描述】:

我正在使用 .net imap 客户端

当我取信封时,我会收到这样的邮件

  • 2 FETCH (FLAGS (\SEEN) INTERNALDATE "13-Nov-2011 02:38:07 -0700" RFC822.SIZE 10993 UID 62 ENVELOPE ("13 Nov 2011 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}

    Newegg NIL "info" "newegg.com")) (({6}

    Newegg NIL "info" "newegg.com")) NIL ((NIL NIL "office" "mysite.com")) NIL NIL NIL ""))

信封的其余部分在下一行

有时它会像第一次一样在 {15} 上中断

有时在 {6}

也许还有其他的,到目前为止我有这些

我在 streamwriter 和/或 streamreader 中尝试了许多不同的编码(ascii、utf7、utf8)

那么这些数字是什么意思?或者我怎样才能正确地读到最后一行

非常感谢!

【问题讨论】:

    标签: .net imap


    【解决方案1】:

    如果您要实现自己的客户端而不是使用现有库,则需要阅读 IMAP 协议。大括号中数字的含义很好解释in the RFC。

    这是一个字面量。括号中的数字总是后跟一个行尾 (CRLF),然后是形成字符串值的多个原始字节。括号之间的数字是后面原始字节数的计数。您需要在 CRLF 之后准确读取那么多原始字节(并注意编码和行尾转换:如果您解码文本或翻译行尾,那么您可能会读取错误数量的原始字节)。

    【讨论】:

    • 谢谢。同时我在我自己的客户、开源和商业之间玩弄。感谢您的澄清。
    猜你喜欢
    • 2016-03-10
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多