gpt4 book ai didi

c# - 如何最好地管理 SMTP 客户端

转载 作者:太空宇宙 更新时间:2023-11-03 10:29:19 26 4
gpt4 key购买 nike

MSDN docs for SmptClient说实例成员不能保证是线程安全的(通过使用实例属性来存储诸如 reference source 中的 MailWriter 之类的东西而诞生)。

另一方面,this post (以及我的经验)表明,简单地为每封发送的电子邮件创建和处理一个 SmtpClient 可以使您很容易达到连接限制。

管理这些对象的最佳方式是什么?我是否必须手动创建池或使用信号量限制使用?或者,是否有一些更容易遵循的模式。我一直在使用同一个邮件服务器。

最佳答案

我建议使用持久性 MessageQueue(例如 RabbitMQ)将事件连同负载一起发送到该队列。我将编写一个消费者来读取该队列,并将其发送到电子邮件服务,该服务将处理发送、记录和引发您可能出于 BI 原因可能想要跟踪的其他电子邮件事件。

也就是说,如果您每天发送数千封电子邮件,您将需要验证您的 IP 地址以发送此类负载。此过程需要很长时间,但一旦该 IP 通过认证,您应该不会遇到任何问题。

关于c# - 如何最好地管理 SMTP 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30766651/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com