这是.NET Framework中的一个错误吗?如果是这样,我该怎么报告呢,因为我可以报告错误的任何地方我总是得到一个"未授权"错误,所以我现在就像我一样。
无论如何,问题是如果启用了SmtpClient
,timeOut
会影响任何抛出的异常,除非它SmtpFailedRecipientException
并且不是致命的。
你可以在这里的代码中看到它: http://referencesource.microsoft.com/#System/net/System/Net/mail/SmtpClient.cs,538
catch (Exception e) {
if (Logging.On) Logging.Exception(Logging.Web, this, "Send", e);
if (e is SmtpFailedRecipientException && !((SmtpFailedRecipientException)e).fatal) {
throw;
}
Abort();
// This is the issue ... As you can see when timout is enabled, a timeout exception is thrown no matter what
if (timedOut) {
throw new SmtpException(SR.GetString(SR.net_timeout));
}
if (e is SecurityException ||
e is AuthenticationException ||
e is SmtpException)
{
throw;
}
throw new SmtpException(SR.GetString(SR.SmtpSendMailFailure), e);
}
http://referencesource.microsoft.com/#System/net/System/Net/mail/SmtpClient.cs,680
(与上述相同,但在SendAsync
。)
如果它不是一个错误,有人可以告诉我行为的确切原因吗?现在它导致邮件由于超时而被视为错误,但实际上它们实际上已被发送,并且无法确定实际错误是什么。如果它是一个错误,当我每次尝试创建反馈时总是收到Not authorized
错误时,如何报告错误。