Tôi có một ứng dụng web yêu cầu thành phần dựa trên máy chủ để truy cập email POP3 theo định kỳ và truy xuất email. Dịch vụ này sau đó cần phải xử lý các email đó sẽ bao gồm:Tích hợp chức năng khách POP3 vào ứng dụng C#?
- Members email chống lại một số quy tắc kinh doanh (hiện nó chứa một tham chiếu hợp lệ trong dòng chủ đề, mà người dùng gửi qua đường bưu điện, vv)
- Phân tích và tiết kiệm bất kỳ file đính kèm vào đĩa
- Hãy cơ thể email và tập tin đính kèm chi tiết và tạo một mục mới trong cơ sở dữ liệu
- Hoặc update item đang tồn tại nơi tài liệu tham khảo phù hợp với dòng tiêu đề email gửi đến
Cách tốt nhất để tiếp cận điều này là gì? Tôi thực sự không muốn phải viết một khách hàng POP3 từ đầu, nhưng tôi cần để có thể tùy chỉnh việc xử lý email. Lý tưởng nhất là tôi sẽ có thể cắm vào một số thành phần mà không được tiếp cận và thu hồi đối với tôi, trở về mảng các file đính kèm, nội dung, dòng tiêu đề, vv sẵn sàng cho việc xử lý của tôi ...
[UPDATE: Nhận xét]
OK, vì vậy tôi đã dành một số tiền hợp lý của thời gian nhìn vào thư viện (chủ yếu là miễn phí) NET POP3 vì vậy tôi nghĩ rằng tôi muốn cung cấp một đánh giá ngắn của một số những đề cập dưới đây và một vài người khác:
- Pop3.net - miễn phí - hoạt động OK, rất cơ bản về mặt chức năng được cung cấp. Điều này là khá nhiều chỉ là các lệnh POP3 và một số mã hóa base64, nhưng nó rất thẳng về phía trước - có lẽ là một giới thiệu tốt
- Pop3 Wizard - thương mại/một số mã nguồn mở - không thể có được điều này để xây dựng, thiếu DLL, tôi sẽ không bận tâm với điều này
- C#Mail - miễn phí cho mục đích cá nhân - hoạt động tốt, đi kèm với trình phân tích cú pháp Mime và ứng dụng SMTP, tuy nhiên nhận xét bằng tiếng Nhật (không phải là một vấn đề lớn) và nó không hoạt động với SSL '. - Tôi phải thay đổi hàm tạo SslStream mà sau đó nó không hoạt động được
- OpenPOP - miễn phí - chưa được cập nhật trong khoảng 5 năm nên trạng thái hiện tại là .NET 1.0, không hỗ trợ SSL nhưng không có vấn đề gì giải quyết - Tôi chỉ thay thế existin g luồng với SslStream và nó hoạt động. Đi kèm với trình phân tích cú pháp Mime.
Trong số các thư viện miễn phí, tôi muốn tìm C# Mail hoặc OpenPOP.
Tôi đã xem một số thư viện thương mại: Chillkat, Rebex, RemObjects, JMail.net. Dựa trên các tính năng, giá cả và ấn tượng của công ty tôi có lẽ sẽ đi cho Rebex và có thể trong tương lai nếu yêu cầu của tôi thay đổi hoặc tôi gặp phải các vấn đề sản xuất với C# Mail hoặc OpenPOP.
Trong trường hợp nhu cầu của bất kỳ ai đó, đây là sự thay thế SslStream constructor mà tôi sử dụng để kích hoạt SSL với C# Mail và OpenPOP:
SslStream stream = new SslStream(clientSocket.GetStream(), false,
delegate(object sender, X509Certificate cert,
X509Chain chain, SslPolicyErrors errors) { return true; });
Cảm ơn bạn đã cập nhật và cung cấp chi tiết về nghiên cứu của mình. –
+1; Đã có một yêu cầu rất giống nhau. Cảm ơn bạn đã thực hiện nghiên cứu. – tsilb
Một nhận xét nhỏ: Tôi đã thử nghiệm một vài trong số các triển khai được đề cập và phải sử dụng hàng ngày mới nhất từ http://anmar.eu.org/projects/sharpmimetools/files/daily/ để giải mã đúng MIME. C# Mail không thể giải mã chính xác non-ascii, và hầu hết các lỗi khác không thành công tại mã utf8, q hoặc các chi tiết khác. –