为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
拉风的咖菲猫 2019-12-13 14:10:36
我想从我的应用程序发送电子邮件,并且我编写了以下代码来发送邮件    MailMessage msg = new MailMessage();    msg.From = new MailAddress("mymailid");    msg.To.Add("receipientid");    msg.Subject = "test";    msg.Body = "Test Content";    msg.Priority = MailPriority.High;    SmtpClient client = new SmtpClient();    client.Credentials = new NetworkCredential("mymailid", "mypassword", "smtp.gmail.com");    client.Host = "smtp.gmail.com";    client.Port = 587;    client.DeliveryMethod = SmtpDeliveryMethod.Network;    client.EnableSsl = true;    client.UseDefaultCredentials = true;    client.Send(msg);我在本地主机上运行它,所以我在发送它时犯了什么错误。当我发送按钮时,它给出了类似的错误SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.5.1需要身份验证。Web.config文件中的代码 <appSettings>    <add key="webpages:Version" value="2.0.0.0" />    <add key="webpages:Enabled" value="false" />    <add key="PreserveLoginUrl" value="true" />    <add key="ClientValidationEnabled" value="true" />    <add key="UnobtrusiveJavaScriptEnabled" value="true" />       <add key="smtpServer" value="smtp.gmail.com" />    <add key="EnableSsl" value = "true"/>    <add key="smtpPort" value="587" />    <add key="smtpUser" value="sender@gmail.com" />    <add key="smtpPass" value="mypassword" />    <add key="adminEmail" value="sender@gmail.com" />  </appSettings>  <system.net>    <mailSettings>      <smtp from="sender@gmail.com">        <network host="smtp.gmail.com" password="mypassword" port="587" userName="sender@gmail.com"  enableSsl="true"/>      </smtp>    </mailSettings>  </system.net>我该怎么做才能解决此错误并发送邮件?
查看完整描述

3 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

首先检查gmail的安全性相关问题。您可能已在gmail中启用了双重身份验证。如果您收到任何安全警报,还请检查您的gmail收件箱。在这种情况下,请检查@mjb的其他答案,如下所示


以下是我通常会首先检查的此类非常普通的问题


client.UseDefaultCredentials = true;

将其设置为false。


注意@Joe King的答案 -必须先设置client.UseDefaultCredentials,然后再设置client.Credentials



查看完整回答
反对 回复 2019-12-14
  • 3 回答
  • 0 关注
  • 433 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信