2012-01-30 43 views
11

Có ai đã xem hàng đợi email qua mạng không?Hàng đợi SMTP Net

Tôi muốn có thể chỉ định máy chủ SMTP để gửi qua, báo cáo sự cố và thử lại email nếu cần hoặc được yêu cầu.

Lý tưởng nhất là tôi muốn một nguồn mở nào đó.

+1

Hi Fran - bạn đã giải quyết được giải pháp nào ở đây? –

Trả lời

1

Thanh toán System.Net.Mail, http://msdn.microsoft.com/en-us/library/dk1fb84h.aspx. Đặc biệt bạn muốn xem MailMessage và SmtpClient.

EDIT

// Invokes the SendEmail method on another thread. 
// Read MSDN on catching exception on completion and then wait a bit and send again. 
Task.Factory.StartNew(() => SendEmail()); 
+0

Cảm ơn bạn, tôi khá familier với việc gửi email, nhưng tôi muốn để có thể vượt qua việc gửi một email đến một dịch vụ khác để người dùng không phải chờ đợi cho các email được gửi và lỗi don ' t ngừng chủ đề chính. –

+0

Cách gửi cho người khác sử dụng TPL, http://msdn.microsoft.com/en-us/library/dd537609.aspx. Xem chỉnh sửa của tôi về việc tạo Tác vụ trên một chuỗi khác. –

+0

Điều đó trông giống như nó! Cảm ơn bạn –

3

Nếu bạn đang sử dụng .NET trên Windows, bạn có thể sử dụng dịch vụ IIS SMTP. Sử dụng SmtpClient và đặt phương thức phân phối để nhận thư mục. Trong chế độ này, SmtpClient sẽ ghi vào thư mục pickup SMTP (một cái gì đó như c: \ inetpub \ smtp_root \ pickup) thay vì cố gắng gửi thư. Thư mục đó là hàng đợi của các tin nhắn, và dịch vụ SMTP sẽ xử lý việc phân phối, thử lại và NDR, vv Tốt hơn nhiều so với việc tự viết nó.

+3

Đây có phải là * vẫn * cách tốt nhất để thực hiện việc này không? Cách tiếp cận này yêu cầu IIS6 được cài đặt trên một máy chủ, và nó đã được flaky gần đây, dịch vụ SMTP chết sau khi các bản vá lỗi, vv – sirtimbly

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