我正在构建一个“测试”按钮来验证应用中的SMTP配置。
如果用户键入错误的端口号,将SSL打开/关闭为错误状态,或者键入有效域名,但是没有托管SMTP服务器,则应用程序挂起,等待超时
基本上,它找到了一台服务器,但无法连接到指定的端口。
在这种情况下,此超时似乎约为1分15秒。
我尝试像这样设置超时:
var client = new SmtpClient(hostname, port);
client.Timeout = 15000; // milliseconds
但超时仍然是1分15秒左右。
我还需要配置什么吗?
请注意,虽然我可以使用“SendAsync”来避免挂起,但我仍然希望在这种情况下使用稍低的超时。
答案 0 :(得分:2)
这可能与DNS解析有关,done synchronously。您可以使用IP地址而不是主机名轻松确认,并查看超时是否接近预期的15秒。
如果是这种情况,那么可能的替代方案,即我在iOS下测试不 可能使用Mono.Dns。