2009-01-15 7 views
7

Làm cách nào để đọc một email đến bằng chương trình .NET. Tôi cần một phương thức để lấy nội dung của thư điện tử (trong trường hợp này là XML) trên một máy chủ POP và đọc nó vào ứng dụng của tôi.Xử lý email đến

Lý tưởng này có thể được giải quyết bằng cách:

  • mã NET mà tôi có thể chạy như một nhiệm vụ nền trên máy chủ web của tôi để trình email.
  • Dịch vụ có thể BẬT nội dung của email tới máy chủ web của tôi.

Mặc dù tôi đang mở cho các tùy chọn khác.

EDIT: Sao chép từ các "phi câu trả lời":

Hiện nay, chúng tôi đang xem xét sử dụng email chiếm công ty lưu trữ của chúng tôi cung cấp.

Máy chủ thư của riêng chúng tôi có thể có khả năng là một tùy chọn, nhưng một số thứ là chúng tôi cần liên hệ với chủ nhà.

+0

câu hỏi tương tự: * http://stackoverflow.com/questions/86553/working-with-pop-imap-email-and-net * http://stackoverflow.com/questions/126068/how-would-you-implement-database-updates-via-email * http://stackoverflow.com/questions/44383/reading-email-using-pop3-in- c –

+0

Thử OpenPop.NET: https://www.nuget.org/packages/OpenPop.NET/ – razon

Trả lời

4

Chúng tôi đã thực sự chỉ được thực hiện cùng một loại điều.

Chúng tôi xử lý nội dung thư email và đẩy dữ liệu vào CRM của chúng tôi qua dịch vụ web. Chúng tôi sử dụng C# với .net 3.5

Để xử lý thư chúng tôi đã đi kèm với IMap. Có một vài thư viện máy khách .net trên CodeProject. Tôi nghĩ chúng tôi đã sử dụng cái này từ LumiSoft.

Chúng tôi đã thử WebDav nhưng không có nhiều may mắn. Điều này khiến chúng tôi có Pop3 hoặc IMap. IMap hỗ trợ các thư mục mà chúng tôi cần, vì vậy chúng tôi đã thực hiện điều đó. Tôi chắc chắn nó sẽ dễ dàng để làm điều tương tự với POP3 nếu máy chủ của bạn không hỗ trợ IMap.

Về cơ bản, chúng tôi kết nối máy chủ Exchange của chúng tôi mỗi giờ và kéo xuống bất kỳ email mới nào và xử lý chúng. Cho đến nay nó hoạt động tốt.

Chỉnh sửa: Chúng tôi cũng sử dụng SharpMimeTools để nhận email thô ở định dạng dễ sử dụng hơn.

1

Có một vài tùy chọn, trong trường hợp bạn có xe buýt dịch vụ theo ý của bạn, nó chủ yếu đi kèm với bộ điều hợp pop3.

Hoặc bạn có thể sử dụng api pop3 (easymail từ quiksoft là khá tốt). Nó cũng có một sản phẩm tuyệt vời để xử lý bị trả lại.

Để đọc tất cả các tin nhắn SMTP. Nếu bạn sở hữu máy chủ thư, tùy thuộc vào loại máy chủ có các cách khác để truy cập thư, đôi khi tùy chỉnh Apis và plugin hoặc hệ thống tệp. Bạn có lưu trữ máy chủ thư của riêng mình không? Bạn sử dụng máy chủ thư nào?

Nếu có thể tôi sẽ không chọn giao thức POP, nó có một số hạn chế trong số những thứ khác như chỉ có một thư mục, "nhận/đọc" một tin nhắn xóa thư khỏi thư mục (có nghĩa là một quá trình đọc thư) và những thứ khác. Tùy thuộc vào số thư bạn cần phân tích cú pháp nó có thể vẫn hoạt động cho bạn. IMAP sẽ là một cải tiến.

Với thành phần IMAP quiksoft:

//create a new IMAP4 object, connect 
//to a IMAP4 server and login 
IMAP4 imap = new IMAP4(); 
imap.Connect("mail.yourdomain.com"); 
imap.Login("mailbox", "password"); 

//select the inbox and download the envelopes 
imap.SelectMailbox("Inbox"); 
EnvelopeCollection imapEnvelopes; 
imapEnvelopes = imap.GetEnvelopes(); 

//loop through each message 
//and output the subject 
foreach (Envelope imapEnvelope in imapEnvelopes) 
{ 
    //write the subject out to the console 
    Console.WriteLine(imapEnvelope.Subject); 
} 

//close resources 
imap.Logout(); 
0

Máy chủ email Merak của IceWarp thật tuyệt vời cho việc này. Nó cho phép chúng tôi thiết lập một loại tài khoản đặc biệt được gọi là tài khoản thực thi. Bạn liên kết một .exe với địa chỉ email và chọn một loạt các thứ để gửi trên dòng lệnh. Khi một email được gửi đến tài khoản đó, nó sẽ kích hoạt tệp thực thi. .exe phải là một ứng dụng giao diện điều khiển và bạn phải cẩn thận rằng nó không treo và những gì không, nhưng tôi nghĩ đó là giải pháp hoàn hảo.

Chúng tôi sử dụng nó để xử lý số liệu thống kê xử lý từ phân tích google và trả lại từ các máy chủ thư khác.

+0

+1 cho máy chủ thư Merak, nó là một sản phẩm tuyệt vời. Cách nó cho phép cho một plugin dll cũng là tuyệt vời cho việc xử lý bị trả lại. –

0

Bạn có thể luôn DIY A POP 3 Class POP là một trong những giao thức dễ dàng hơn