C# .Net SMTP队列

C# .Net SMTP队列,c#,.net,vb.net,email,smtp,C#,.net,Vb.net,Email,Smtp,有人见过.net电子邮件队列吗 我希望能够指定要通过发送的SMTP服务器,报告问题,并在必要或请求时重试电子邮件 理想情况下,我想要一些开源的东西。Checkout System.Net.Mail。特别是您要查看MailMessage和SmtpClient 编辑 如果您在Windows上使用.NET,则可以使用IIS SMTP服务。使用SmtpClient并将传递方式设置为拾取目录。在此模式下,SmtpClient将写入SMTP分拣文件夹(类似于c:\inetpub\SMTP\u root\pi

有人见过.net电子邮件队列吗

我希望能够指定要通过发送的SMTP服务器,报告问题,并在必要或请求时重试电子邮件

理想情况下,我想要一些开源的东西。

Checkout System.Net.Mail。特别是您要查看MailMessage和SmtpClient

编辑


如果您在Windows上使用.NET,则可以使用IIS SMTP服务。使用SmtpClient并将传递方式设置为拾取目录。在此模式下,SmtpClient将写入SMTP分拣文件夹(类似于c:\inetpub\SMTP\u root\pickup),而不是尝试传递邮件本身。该文件夹是邮件队列,SMTP服务将处理传递、重试和NDR等,比尝试自己编写要好得多

谢谢,我对发送电子邮件比较熟悉,但我希望能够将发送电子邮件的过程传递到另一个服务,这样用户就不必等待电子邮件发送,错误也不会停止主线程。使用TPL在另一个服务上发送怎么样。请参阅我在另一个线程上创建任务的编辑。看起来更像!谢谢,这仍然是实现这一目标的最佳方式吗?这种方法要求IIS6安装在服务器上,而且最近一直很不稳定,SMTP服务在补丁后就会失效,等等。嗨,弗兰-请问您最终得到了什么解决方案?
 // 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());