C# Can';t使用SmtpClient发送邮件

C# Can';t使用SmtpClient发送邮件,c#,.net,smtp,C#,.net,Smtp,我想使用SmtpClient类发送邮件,但它不起作用。 代码: 它抛出一个异常: SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.7.1客户端未通过身份验证 我确信用户名和密码是正确的。我的代码有问题吗? 谢谢。你可以试试这个: MailMessage mail = new MailMessage(); mail.Subject = "Your Subject"; mail.From = new MailAddress("senderMailAddress");

我想使用SmtpClient类发送邮件,但它不起作用。 代码:

它抛出一个异常:

SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.7.1客户端未通过身份验证

我确信用户名和密码是正确的。我的代码有问题吗? 谢谢。

你可以试试这个:

 MailMessage mail = new MailMessage();
 mail.Subject = "Your Subject";
 mail.From = new MailAddress("senderMailAddress");
 mail.To.Add("ReceiverMailAddress");
 mail.Body = "Hello! your mail content goes here...";
 mail.IsBodyHtml = true;

 SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
 smtp.EnableSsl = true;
 NetworkCredential netCre = 
                  new NetworkCredential("SenderMailAddress","SenderPassword" );
 smtp.Credentials = netCre;

 try
  {
     smtp.Send(mail);                
  }
  catch (Exception ex)
  {   
    // Handle exception here 
  }
您可以试试:
在Exchange管理控制台的“服务器配置”节点下,选择集线器传输和服务器名称。在Receive Connectors窗格中,打开Receive Connectors(我的默认安装创建了2个),或者您可以仅为TFS创建一个新的(我也尝试了这个方法,它成功了)。对于这些连接器中的任何一个,打开“属性”并在“权限组”选项卡上确保选择了匿名用户(默认情况下不是这样)。



您还可以按如下方式初始化
SmtpClient

SmtpClient smtp = new SmtpClient("127.0.0.1");
服务器响应5.7.1客户端未通过身份验证,但前提是您未将
usedaultcredentials
设置为
true
。这表明您使用的
NetworkCredential
实际上是错误的

用户名或密码错误,或者您需要指定域?您可以使用其他构造函数指定域:

new NetworkCredential("MyUserName", "MyPassword", "MyDomain");

或者,您指定的用户没有在SMTP服务器上发送邮件的必要权限,但我希望得到另一个服务器响应。

基本上与问题中的代码相同,那么这如何回答问题?服务器返回了如何解决5.7.1客户端未经身份验证的问题?是,这几乎和默剧一样@阿尔沙德:嗨,朋友,那么是什么导致了这个异常?@hoangmeo325,检查更新的答案你是否尝试将域包含在NetworkCredential的第三个参数中?我有类似的问题,有人可以帮助我
new NetworkCredential("MyUserName", "MyPassword", "MyDomain");