【发布时间】:2019-01-08 23:28:10
【问题描述】:
我最近在我们的项目中使用了 Mailkit 库来替换 .NET SmtpClient。
我们有 2 个使用 SmtpClient 发送电子邮件的业务案例。
在一个实例中,我们使用 SmtpClient 在单独的进程中发送排队的电子邮件,而在其他实例中,我们立即发送电子邮件。
在实现时我注意到我们必须调用 Client 实例的 Disconnect 方法。
在文档中不确定并且不清楚调用此方法的最佳方法是什么。
所以我的问题是,使用这种方法的最佳实践是什么?
每条消息都调用 mailClient.Disconnect(true) 还是 mailClient.Disconnect(false)?mailClient.Disconnect(...);
出于兴趣,如果我在 using 块中使用客户端,是否需要在发送消息后显式调用 Disconnect(...)?我认为它会在 Dispose() 执行时隐式调用断开连接。
using (var mailClient = new SmtpClient())
{
mailClient.Connect(...);
mailClient.AuthenticationMechanisms.Remove("XOAUTH2");
mailClient.Authenticate(...);
mailClient.Send(message);
mailClient.Disconnect(false);
}
感谢您在这方面的反馈。
【问题讨论】:
标签: mailkit