我有一个C#WPF应用程序,它应该在某些情况下向内部电子邮件组发送电子邮件。它在某些情况下有效,但某些通讯组似乎是以需要身份验证的方式设置的,并且Exchange服务器正在提供此消息:
这是一个内部SMTP服务器,发送到内部电子邮件地址。
我查看了一个SmtpClient对象的身份验证,它似乎围绕在SmtpClient上设置.Credentials
属性。但是,无论我使用.UseDefaultCredientials
还是设置NetworkCredential
对象,它似乎都不适合我。
以下是我放在一起的一些示例代码 - 当我尝试通过电子邮件向同一组发送错误时,我能够复制我的应用程序遇到的错误。
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
能够正常运行。我错过了什么?