C# Can';t使用SmtpClient发送邮件
我想使用SmtpClient类发送邮件,但它不起作用。 代码: 它抛出一个异常: SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.7.1客户端未通过身份验证 我确信用户名和密码是正确的。我的代码有问题吗? 谢谢。你可以试试这个: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");
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");