Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SmtpClient正在使用错误的凭据工作_C#_Smtpclient_Networkcredentials - Fatal编程技术网

C# SmtpClient正在使用错误的凭据工作

C# SmtpClient正在使用错误的凭据工作,c#,smtpclient,networkcredentials,C#,Smtpclient,Networkcredentials,我的Smtpclient正在使用以下设置 SmtpClient client = new SmtpClient(); client.Host = server; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("username", "totallywrongpassword", "DOMAIN"); try { client.Send(message); } catch

我的Smtpclient正在使用以下设置

SmtpClient client = new SmtpClient();
client.Host = server;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("username", "totallywrongpassword", "DOMAIN");

try
{
    client.Send(message);
}
 catch
 {
   // no exception is thrown, emails are send
 }
我提供的凭据无效,但电子邮件正在发送

我做错了什么


smtp服务器和客户端位于同一本地域上。

最可能的情况是,您的smtp服务器已设置为允许本地网络在不需要凭据的情况下发送。您的代码完全正确,如果服务器仍允许您发送,我会首先与管理员联系。

您的SMTP服务器…?正如回答所述,这是SMTP服务器设置的问题,而不是您使用的代码的问题。要么它的设置是完全开放的(对你来说不好,对垃圾邮件发送者来说很好),要么它不需要对本地域上的计算机进行身份验证。如何修复它取决于您使用的服务器,应该在超级用户上回答。但我告诉SmptClient使用我提供的凭据,对吗?是否存在自动回退或其他问题?是的,您提供的凭据不正确。但是SMTP服务器可以设置为不查看(或不验证)来自本地网络的凭据。这似乎更像是服务器问题,而不是代码问题。@MathiasColpaert我怀疑,如果在服务器上关闭本地连接的身份验证,它甚至不会提示客户端提供凭据,因此您提供的内容无关紧要。使用数据包嗅探器来监视流量,我敢打赌你甚至从未看到凭证通过网络。