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

标签 c# .net multithreading email smtp

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

我刚刚制作了一个简单的 SMTP 客户端,它可以从该程序发送电子邮件。它是一个控制台应用程序,一次只能通过服务器发送一封电子邮件。这非常慢,我需要通过我的客户端同时发送多封电子邮件。

这在 C# 中可行吗?

最佳答案

简单的使用多线程(多进程)

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

new Task(delegate { 
    smtpClient.send(myMessage); 
}).Start();

只需将您的发送命令包装在这个对象中,它就会被异步发送。

小心,如果它被包裹在一个循环中,它将为每封邮件启动一个新进程。

如果您需要同时发送大量邮件,我建议您使用ThreadPool。它可以让您控制同时拥有多少个并发线程。

关于c# - 使用 System.Net.Mail 加速通过 smtp 服务器发送多封电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20747498/

相关文章:

.net - 大数组和多线程 - 自旋锁或本地缓冲区还是其他什么?

c# - 如何最小化Windows中的内存使用

node.js - 如何在heroku上的多个worker dyno上构建计划任务,其中每个worker dyno都处理一批不同的行

c# - SSIS - 该进程无法访问该文件,因为它正被另一个进程使用

c# - IronPython DLR;将参数传递给编译代码?

c# - 如何在 ASP.NET Core 3 Razor Pages 中使用环境路由值?

c# - 分页搜索结果

java - LinkedBlockingQueue - 无界 - 放置阻塞?

multithreading - WSGI的线程和进程怎么统计?

c# - 点击回车键提交