使用System.Net.Mail加速通过smtp服务器发送多封电子邮件

rod*_*dit 6 .net c# email multithreading smtp

我是C#的新手,但我从VB.Net那里学到了很多关于.Net for windows编程的知识.

我刚刚创建了一个简单的SMTP客户端,它从程序中发送电子邮件.它是一个控制台应用程序,一次只能通过服务器发送一封电子邮件.这是很慢的,我需要在通过我的客户端发送多封电子邮件同时.

这可能在C#中吗?

Jmo*_*van 7

只需使用多个线程(多个进程).

在C#中,您可以使用任务执行此操作.

new Task(delegate { 
    smtpClient.send(myMessage); 
}).Start();
Run Code Online (Sandbox Code Playgroud)

只需将send命令包装在此对象中,它将以异步方式发送.

如果它被包装在一个循环中,它会为每个邮件启动一个新进程.

如果你需要同时发送大量邮件,我建议你使用ThreadPool.它允许您控制您希望同时拥有多少个可靠线程.