我是C#的新手,但我从VB.Net那里学到了很多关于.Net for windows编程的知识。
我刚刚创建了一个简单的SMTP客户端,可以从程序中发送电子邮件。它是一个控制台应用程序,一次只能通过服务器发送一封电子邮件。这非常慢,我需要在同时通过我的客户端发送多封电子邮件。
这在C#中是否可行?
答案 0 :(得分:7)
只需使用多个线程(多个进程)。
在C#中,您可以使用任务执行此操作。
new Task(delegate {
smtpClient.send(myMessage);
}).Start();
只需将send
命令包装在此对象中,它将以异步方式发送。
如果将它包装在循环中,请注意它将为每封邮件启动一个新进程。
如果您需要同时发送大量邮件,我建议您使用ThreadPool
。它可以让你控制你想要同时拥有多少个concurent线程。