我正在使用IMAP和MailSystem.NET来读取c#中的电子邮件。如何按邮件ID搜索电子邮件? (msg.MessageId)
using (Imap4Client imap = new Imap4Client()){
imap.ConnectSsl(protocol, port);
imap.LoginFast(email, password);
Mailbox inbox = imap.SelectMailbox("INBOX");
int[] mails= inbox.Search("UNSEEN");
for (int i = 0; i < mailsUnread.Length; i++) {
Message msg = inbox.Fetch.MessageObject(mailsUnread[i]);
string subject = msg.Subject;
string body = msg.BodyText.Text;
string messageId= msg.MessageId;
}
}
由于
答案 0 :(得分:1)
我强烈建议使用MailKit,因为它是一个比MailSystem.NET强得多的IMAP客户端库...但是...
根据MailSystem.NET中的Message-Id标头搜索邮件的方式是:
int[] mails = inbox.Search (string.Format ("HEADER \"MESSAGE-ID\" \"{0}\"", msg.MessageId));
希望有所帮助。