gpt4 book ai didi

.NET 3.5 Smtpclient - 发送电子邮件失败 - 仅在每次重新启动后才有效

转载 作者:行者123 更新时间:2023-12-04 05:20:58 26 4
gpt4 key购买 nike

在带有 .NET 3.5 的 Windows 控制台应用程序中(我将现有的 .NET 2.0 应用程序更改为 .NET 3.5)

我有一个奇怪的问题,发送电子邮件的代码工作了几次(可能是 5 到 10 次)。

几次后,它无法发送带有消息“发送邮件失败”的电子邮件。重新启动系统后,相同的代码工作。 (这不是生产中的预期解决方案)。

这是一段代码,我觉得在某个地方我已经关闭了这个 SmtpClient 连接。所以我将客户端设置为 null 并调用了 GC.Collect ,但没有帮助我。

请帮忙



private static void SendEmail(MailMessage msg)
{
SmtpClient client = new SmtpClient(GetSMTPServer(), GetSMTPPort());

client.Credentials = CredentialCache.DefaultNetworkCredentials;
client.EnableSsl = false;
client.ServicePoint.MaxIdleTime = 1;
//client.Timeout = GetSMTPTimeout(); 30000000
client.Send(msg);
client = null;
GC.Collect();
}


最佳答案

尝试简单地使用 using阻止正确处置 SmtpClient发送后。

private static void SendEmail(MailMessage msg)
{
using(SmtpClient client = new SmtpClient(GetSMTPServer(), GetSMTPPort()))
{
client.Credentials = CredentialCache.DefaultNetworkCredentials;
client.EnableSsl = false;
client.Send(msg);
}
}

另见: .NET Best Method to Send Email (System.Net.Mail has issues)

关于.NET 3.5 Smtpclient - 发送电子邮件失败 - 仅在每次重新启动后才有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13689265/

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