gpt4 book ai didi

c# - 无法测试 SmtpClient.TimeOut

转载 作者:行者123 更新时间:2023-11-30 20:58:29 29 4
gpt4 key购买 nike

我正在使用 Visual Studio 2010、.NET 4.0,我正在尝试测试 SMTPClient.TimeOut 属性并实际让它抛出 SmtpException。然而,即使我将 TimeOut 属性设置为 1 毫秒,它仍然会发送电子邮件,看起来好像是在一毫秒内发送,但我发现有趣的是,当我检查对象时,我可以看到一个名为 timedOut 的私有(private)成员变量设置为true,表明它实际上超时了。

enter image description here

这是我的代码:

try
{
MailMessage emailMsg = new MailMessage(this.EmailFrom, this.EmailTo, this.EmailSubject, msg);
//SmtpClient emailClient = new SmtpClient(this.EmailServer);
SmtpClient emailClient = new SmtpClient();
emailClient.Credentials = new System.Net.NetworkCredential("username", "password");


emailMsg.IsBodyHtml = true;
emailClient.Timeout = Properties.Settings.Default.SMTPTimeOut;
emailClient.Timeout = 1;

emailClient.Send(emailMsg);
sendingEmail = true;

return sendingEmail;
}
catch (Exception ex)
{
// Handle time out exception here.
}

有没有人见过这个或知道更好的测试方法?现在我正在访问 gmail 的 smtp。

最佳答案

我相信您可以使用 telnet。打开 telnet 并将该 ip 用作您的 smtp 服务器。它不会连接,所以它应该超时。没有对此进行测试。

http://technet.microsoft.com/en-us/library/aa995718(v=exchg.65).aspx

关于c# - 无法测试 SmtpClient.TimeOut,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16089745/

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