Imap获取命令

本文关键字:命令 获取 Imap | 更新日期: 2023-09-27 18:11:23

我使用以下c#代码检索消息头,但我想修改它,以便它可以告诉我消息是否包含任何附件,但是我不想加载完整的消息与附件

var command = string.Format("FETCH {0} (FLAGS UID BODY[HEADER])", i);
Clean();
SendCommand(command);
var sizeLine = ReadLine();

我试过下面的

这检索完整的消息或根本不工作,我也从rfc网站工作,但似乎找不到它的命令

var command = string.Format("FETCH {0} (FLAGS UID BODY.PEEK[])", i);
var command = string.Format("FETCH {0} (FLAGS UID BODY[])", i);
var command = string.Format("FETCH {0} (FLAGS UID BODY[HEADER,MIME])", i);
var command = string.Format("FETCH {0} (FLAGS UID BODY[MIME])", i);

Imap获取命令

您要查找的命令是UID FETCH ... BODYSTRUCTURE。看到响应后,您可能希望考虑使用库为您进行解析。c#上至少有两个候选,MailKit和一个叫做IIRC的东西mailsystem.net。先试试mailkit

可能您忘记在FETCH命令前加上UID:

string tag = GetTag();
string response = SendCommandGetResponse(tag + "UID FETCH " + uid + " (BODY" +
                    (seen ? null : ".PEEK") + "[HEADER])", false);

来自S22 ImapClient.cs