C# System.Net.Mail.SMTP客户端身份验证不工作

C# System.Net.Mail.SMTP客户端身份验证不工作,c#,system.net.mail,C#,System.net.mail,我有一个C#WPF应用程序,在某些情况下应该向内部电子邮件组发送电子邮件。它在某些情况下可以工作,但某些通讯组的设置方式似乎需要身份验证,Exchange服务器正在提供以下消息: 550 5.7.1需要解析器.RST.auth;需要身份验证--rfc822 这是一个内部SMTP服务器,发送到内部电子邮件地址 我研究了SmtpClient对象的身份验证,它似乎围绕设置SmtpClient上的.Credentials属性展开。但是,无论我使用的是.UseDefaultCredientials还是设置

我有一个C#WPF应用程序,在某些情况下应该向内部电子邮件组发送电子邮件。它在某些情况下可以工作,但某些通讯组的设置方式似乎需要身份验证,Exchange服务器正在提供以下消息:

550 5.7.1需要解析器.RST.auth;需要身份验证--rfc822 这是一个内部SMTP服务器,发送到内部电子邮件地址

我研究了SmtpClient对象的身份验证,它似乎围绕设置SmtpClient上的
.Credentials
属性展开。但是,无论我使用的是
.UseDefaultCredientials
还是设置的是
网络凭据
对象,它似乎都不适用于我

下面是我编写的一些示例代码——当我尝试向发生错误的同一组发送电子邮件时,我能够复制我的应用程序遇到的错误

SmtpClient smtpClient = new SmtpClient();
MailMessage message = new MailMessage(); 

smtpClient.Host = "smtpserver.domain.com";
smtpClient.UseDefaultCredentials = true;
/* These are other combinations I tried, all to no avail */
//smtpClient.UseDefaultCredentials = false;
//smtpClient.Credentials = CredentialCache.DefaultNetworkCredentials;
//smtpClient.Credentials = new NetworkCredential("username", "password");

message.From = new MailAddress("from@domain.com");
message.Sender = message.From;
message.To.Add("groupname@domain.com");
message.CC.Add("from@domain.com");
message.Body = "Testing email group delivery";
message.Subject = "Testing";

smtpClient.Send(message);

因为它是作为客户端应用程序运行的,所以我实际上希望
.UseDefaultCredentials=true
能够工作。我遗漏了什么?

@jp2code-对,我假设是这样的,电子邮件组被设置为需要身份验证。由于无法控制电子邮件组管理,我想知道是否可以确保SmtpClient经过身份验证,因为这都是我们网络的内部内容。我想知道问题是否在于此运行的帐户经过身份验证,但未经授权,并且错误消息不准确?这是我无论如何都要检查的东西。为了排除这种情况,我会确保我可以发送到该组,然后将我的creds硬编码到应用程序中,以测试它是否正常运行……此外,我使用smtp邮件已经有一段时间了,但你不需要使用端口和SSL来通过auth调用它吗?你可以尝试逐个向电子邮件收件人发送邮件,并尝试查找失败的邮件。