gpt4 book ai didi

MailKit:使用 Client.Disconnect(...) 的最佳实践是什么

转载 作者:行者123 更新时间:2023-12-04 01:49:13 25 4
gpt4 key购买 nike

我最近在我们的项目中使用了 Mailkit 库来替换 .NET SmtpClient。
我们有 2 个使用 SmtpClient 发送电子邮件的业务案例。
在一个实例中,我们使用 SmtpClient 在单独的进程中发送排队的电子邮件,而在另一个实例中,我们立即发送电子邮件。
在实现时,我注意到我们必须调用 Client 实例的 Disconnect 方法。
mailClient.Disconnect(...);
在文档中不确定和不清楚调用此方法的最佳方法是什么。
所以我的问题是,使用这种方法的最佳实践是什么?
为每条消息或 mailClient.Disconnect(false) 调用 mailClient.Disconnect(true)?

出于兴趣,如果我在 using 块中使用客户端,是否需要在发送消息后显式调用 Disconnect(...)?我认为它在执行 Dispose() 时隐式调用了断开连接。
using (var mailClient = new SmtpClient())
{
mailClient.Connect(...);
mailClient.AuthenticationMechanisms.Remove("XOAUTH2");
mailClient.Authenticate(...);
mailClient.Send(message);
mailClient.Disconnect(false);
}

感谢您在这方面的反馈。

最佳答案

Dispose()方法只会在套接字连接仍然存在时关闭它(这实际上与调用 Disconnect (false) 相同)。

调用 Disconnect (true)不过,它更有礼貌,因为它发送了适当的 LOGOUTQUIT命令到服务器,允许服务器正确处理其资源。

关于MailKit:使用 Client.Disconnect(...) 的最佳实践是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54082409/

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