1
我試圖通過IMAP協議從Gmail獲取未讀郵件。我跟着這個tuto:https://briancaos.wordpress.com/2012/04/24/reading-mails-using-imap-and-mailsystem-net/#comment-4999,收到很多好評。 但是,當我打電話.Net - 通過IMAP協議從Gmail獲取未讀郵件時出錯
MessageCollection messages = mails.SearchParse(「UNSEEN」);
我收到錯誤消息「索引和長度必須引用字符串中的位置」。 我只是調用一個簡單的函數,所以我不知道什麼是錯的。有關更多詳細信息,請參閱我的代碼片段:
public class MailRepository
{
private Imap4Client _client = null;
public MailRepository(string mailServer, int port, bool ssl, string login, string password)
{
if (ssl)
Client.ConnectSsl(mailServer, port);
else
Client.Connect(mailServer, port);
Client.Login(login, password);
}
public IEnumerable<Message> GetAllMails(string mailBox)
{
return GetMails(mailBox, "ALL").Cast<Message>();
}
public IEnumerable<Message> GetUnreadMails(string mailBox)
{
return GetMails(mailBox, "UNSEEN").Cast<Message>();
}
protected Imap4Client Client
{
get
{
if (_client == null)
_client = new Imap4Client();
return _client;
}
}
private MessageCollection GetMails(string mailBox, string searchPhrase)
{
Mailbox mails = Client.SelectMailbox(mailBox);
MessageCollection messages = mails.SearchParse(searchPhrase);
return messages;
}
}
好主意!我已經試過其他圖書館了。我發現IMAPX是一個不錯的選擇。不過,謝謝你的回覆 –