C# 使用IMAP命令获取消息的大小

C# 使用IMAP命令获取消息的大小,c#,imap,C#,Imap,我使用以下IMAP命令获取消息的大小 “$FETCH UID RFC822.大小\r\n” 对于某些消息,该命令工作正常并返回消息大小 “*3获取(RFC822.SIZE 2376)\r\n$OK成功\r\n” 但对于一些电子邮件来说,它并不能获取消息的大小。它只返回成功消息,不返回大小 下面是对一些消息的响应 “$OK成功\r\n” 有没有其他方法可以获取消息的大小?如果没有返回大小信息,则表示消息不存在。站在一根树枝上。。。您想的是x uid fetch 1234 rfc822.size,以

我使用以下IMAP命令获取消息的大小

“$FETCH UID RFC822.大小\r\n”

对于某些消息,该命令工作正常并返回消息大小

“*3获取(RFC822.SIZE 2376)\r\n$OK成功\r\n”

但对于一些电子邮件来说,它并不能获取消息的大小。它只返回成功消息,不返回大小

下面是对一些消息的响应

“$OK成功\r\n”


有没有其他方法可以获取消息的大小?

如果没有返回大小信息,则表示消息不存在。

站在一根树枝上。。。您想的是
x uid fetch 1234 rfc822.size
,以便了解uid 1234消息的大小。但是,您发送的是
y fetch 1234 rfc822.size
,如果邮箱中的邮件少于1234封,则该命令将不起作用


我猜对了吗?

你的命令不合法。真正的命令必须包含一个指向消息的参数。真正的命令是什么?实际的命令是:“$FETCH 1 RFC822.SIZE\r\n”
$FETCH n RFC822.SIZE\r\n
将获取邮箱中第n封邮件的大小,而不是UID为n的邮件。如果要基于UID获取,则需要使用
UID FETCH n RFC822.SIZE\r\n
否。邮件确实存在。我能够获取同一消息的正文和标题,但技术上不能,因为您请求的是特定索引处的消息大小,而不是uid。很好!我没有注意到他没有使用正确的语法。是的,这是正确的。它解决了这个问题。谢谢你,阿恩特