我对C#还很陌生,但是我从VB.Net学到了如何在Windows上进行.Net编程。
我刚刚创建了一个简单的SMTP客户端,可以通过程序发送邮件。它是一个控制台应用程序,每次只能通过服务器发送一封电子邮件。这非常慢,我需要在客户端同时发送多封电子邮件。
在C#中是否有可能实现这一点?
我对C#还很陌生,但是我从VB.Net学到了如何在Windows上进行.Net编程。
我刚刚创建了一个简单的SMTP客户端,可以通过程序发送邮件。它是一个控制台应用程序,每次只能通过服务器发送一封电子邮件。这非常慢,我需要在客户端同时发送多封电子邮件。
在C#中是否有可能实现这一点?
可以简单地使用多线程(多进程)。
在C#中,您可以使用Task来实现此操作。
new Task(delegate {
smtpClient.send(myMessage);
}).Start();
只需将您的send
命令包装在此对象中,它就会异步发送。
如果将其包装在循环中,请小心,每封邮件都会启动一个新进程。
如果您需要同时发送大量邮件,建议使用ThreadPool
。它允许您控制同时拥有多少并发线程。