.net 核心并行电子邮件发送

.net core parallel email sending

我想要实现的是我有一个 .net Web 应用程序,它使用通用 smtp 客户端实例发送电子邮件。我的问题是创建验证并连接到服务器的客户端真的很慢,我想改进这部分。我尝试过的是使用客户端创建一个单例实例,该实例在应用程序启动时进行连接和身份验证,并在邮件发送时注入该实例。通过这种方式,我能够提高性能,但会遇到锁定和检查身份验证状态等多线程问题。知道我如何能对这个问题进行任何改进。

您可以将电子邮件发送到队列,让另一个进程处理该工作。然后,您的 Web 应用程序的主线程可以 return 非常快速地提供更好的用户体验。 Hangfire 非常适合这个过程 - Hangfire - Sending Mail in Background with ASP.NET MVC