使用IMap4Client一次读取一封电子邮件

时间:2014-06-02 04:01:21

标签: c# asp.net imap

我正在使用Imap阅读电子邮件。我的代码正在运行,如下:

Client.ConnectSsl(mailServer, port);
Mailbox mails = Client.SelectMailbox("inbox");  
MessageCollection messages = mails.SearchParse("UNSEEN"); 
return messages;

但我希望一次收到一封电子邮件,而不是将所有邮件作为MessageCollection。我也不想循环遍历MessageCollection。有没有只返回一条消息的方法?

例如:

Message email = mails.Search("UNSEEN");

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以找到以下解决方案

        Imap4Client imap = new Imap4Client();
        imap.ConnectSsl("imap.gmail.com", 993);
        imap.Login("abc@gmail.com", "thatsmypassword");
        imap.Command("capability");

        Mailbox inbox = imap.SelectMailbox("inbox");
        int[] ids = inbox.Search("UNSEEN");
        if (ids.Length > 0)
        {
            Message msg_first = inbox.Fetch.MessageObject(ids[0]);
        }   

谢谢, Gauttam