2009-04-14 28 views
8

Tôi đang tìm cách theo dõi hộp thư đến Gmail cho các e-mail mới. Tuy nhiên, tôi muốn tránh kiểm tra vài phút một lần và tôi đang tìm một số thông báo thời gian thực. Tôi đã nhận thấy rằng Outlook (và các ứng dụng hỗ trợ IMAP khác) ngay lập tức hiển thị khi có một e-mail mới, nhưng tiếc là tất cả các thư viện .NET IMAP dường như thiếu chức năng này.Tìm kiếm thông báo IMAP thời gian thực của các Email mới

Có ai biết thư viện IMAP có chức năng này không? Hoặc có cách nào khác để được thông báo ngay lập tức về tin nhắn mới mà không thực hiện một số cuộc thăm dò ngắn hạn không?

Trả lời

8

Bạn cần xử lý IMAP IDLE.

Điều này sẽ thông báo cho bạn khi có thư mới đến mà không cần bỏ phiếu liên tục (điều này không tốt).


Thư viện IMAP IMAP rất tốt, thương mại là MailBee.Net. Tôi đã sử dụng nó cho một dự án nhỏ trong khi trở lại, và nó dường như xử lý mọi thứ rất tốt, và khá dễ dàng để làm việc. Có thể có những người khác - chỉ cần tìm kiếm trong thư viện của bạn để gửi lệnh IDLE hoặc xử lý lệnh IDLE và bạn có thể sẽ tìm thấy thứ gì đó.

3

Mail.dll hỗ trợ IDLE. Dưới đây là các mẫu đơn giản:

using (Imap client = new Imap()) 
{ 
    client.ConnectSSL("imap.server.com"); 
    client.Login("[email protected]", "password"); 

    FolderStatus folderStatus = client.SelectInbox(); 
    Console.WriteLine("Total message count: {0}", 
     folderStatus.MessageCount); 

    while(true) 
    { 
     FolderStatus currentStatus = client.Idle(); 
     Console.WriteLine("Total message count: {0}", 
       currentStatus.MessageCount); 
     foreach(long uid in client.SearchFlag(Flag.Unseen)) 
     { 
      IMail email = new MailBuilder().CreateFromEml(
       client.GetHeadersByUID(uid)); 
      Console.WriteLine(email.Subject); 
     } 
    } 
    client.Close(); 
} 

Bạn có thể tải Mail.dll tại địa chỉ: http://www.lesnikowski.com/mail/

Ngoài ra kiểm tra blog for samples tôi.

Xin lưu ý rằng Mail.dll là một sản phẩm thương mại mà tôi đã tạo.

@Queops

Dưới đây là các báo cáo từ 2 quét virus trực tuyến:

www.viruschief.com

www.virustotal.com

Xin lưu ý rằng VirusTotal đang sử dụng máy quét Symantec.

+0

tôi đã cố gắng tải về bộ cài đặt của Mail.dll nhưng Norton Antivirus của tôi kịp thời cho biết đây là một số loại virus/mối đe dọa và lập tức xóa nó. Thận trọng được khuyên. – Qosmo

+0

"một số loại"? Bạn có thể chính xác hơn không? Tôi đã sử dụng thành phần này trong một thời gian dài và từ quan điểm của tôi mọi thứ đều ổn với nó. Nếu tôi đúng, nó cũng được các công ty lớn sử dụng. –

1

Hãy thử thư viện .NET miễn phí để truy cập vào máy chủ IMAP S22.Imap, với sự hỗ trợ IDLE

+0

sử dụng (var client = new ImapClient ("imap.gmail.com", 993, "tên người dùng", "mật khẩu", AuthMethod.Login, true)) { var uids = client.Search (SearchCondition.Unseen()) ; var messages = client.GetMessages (uids); } –

Các vấn đề liên quan