首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MailKit在未标记的获取响应中获取语法错误。意外标记:'\\n‘

MailKit在未标记的获取响应中获取语法错误。意外标记:'\\n‘
EN

Stack Overflow用户
提问于 2017-11-01 12:51:08
回答 1查看 538关注 0票数 0

我见过一些关于这方面的问题,但它们似乎都比不上我要回答的问题,因此产生了这个问题。

我有一个邮箱(这是我看到的第一个也是唯一一个邮箱),在Domino服务器上运行。当它试图获取该帐户的收件箱时,它会读取

代码语言:javascript
复制
foreach (var summary in client.Inbox.Fetch(0, -1, Items).Where(x => 
    (x.Flags & MessageFlags.Deleted) != MessageFlags.Deleted &&
    (x.Flags & MessageFlags.Seen) != MessageFlags.Seen))
    {
        //Do something...
    }

我的imap协议日志中的最后一个条目是:

代码语言:javascript
复制
S:  FLAGS (\Seen))      
S: * 8303 FETCH (UID 8303 ENVELOPE ({..MASKED..}) BODY[HEADER.FIELDS (REFERENCES)] {4}      
S: 
S: 
S:  FLAGS (\Seen))

在这个日志中没有完整的获取,而且有时日志看起来比其他日志更大(获取的电子邮件更多)。异常总是相同的,出乎意料的令牌\n。

有关原子令牌异常的更新:

代码语言:javascript
复制
{"Syntax error in ENVELOPE. Unexpected token: [atom: <user@domain.orguser]"}


S:  FLAGS (\Seen))
S: * 19607 FETCH (UID 19607 ENVELOPE ("Wed, 8 Nov 2014 13:50:09 +0100" "Re: LDAP Filter" (("DisplayName1" NIL "dn1" "domain2.invalid")) (("DisplayName1" NIL "dn1" "domain2.invalid")) (("DisplayName1" NIL "dn1" "domain2.invalid")) (("DisplayName4" NIL "dn4" "domain1.invalid")("DisplayName3" NIL "dn3" "domain3.invalid")) (("DisplayName2" NIL "dn2" "domain2.invalid")("user@domain.org" NIL "user" "domain.org> "ss@domain.org" <user@domain.orguser")) NIL "<OF4C7FF16B.1B0A6826-ONC1257D6B.003FBF81-C1257D6B.00400501@LocalDomain>" "<OF31482F53.2CA9A4AC-ONC1257D6B.004080EE-C1257D6B.00410453@LocalDomain>") BODY[HEADER.FIELDS (REFERENCES SUBJECT)] {235}
S: Subject: Re: LDAP Filter
S: References: <3A5893A9FA8E964D862DAA1FA2B5E9EA1BCD89@OESTMB701.domain1.invalid>
S:  <3A5893A9FA8E964D862DAA1FA2B5E9EA1C1A45@OESTMB701.domain1.invalid>
S:  <OF4C7FF16B.1B0A6826-ONC1257D6B.003FBF81-C1257D6B.00400501@LocalDomain>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-02 02:32:20

它说它遇到了一个意想不到的换行符。问题可能是头解析器没有消耗空头blob的所有4个字节(它可能只是在消耗第一个空白行)。

解决方法可能是请求一个确实存在的标题以及引用标题(可能是SUBJECT)。

代码语言:javascript
复制
var headers = new HashSet<string> ();
headers.Add ("REFERENCES");
headers.Add ("SUBJECT");

var items = folder.Fetch (0, -1, summaryItemFlags, headers);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47055310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档