当前位置: 首页 > 知识库问答 >
问题:

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

巫马心水
2023-03-14

我想从我的应用程序发送一封电子邮件,我已经编写了以下发送邮件的代码

    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);

我正在本地主机上运行它,所以我正在做什么错误发送它。

当我发送按钮时,它会给出一个错误,比如

 <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>

我应该做什么来解决这个错误并发送邮件??

共有1个答案

叶衡虑
2023-03-14

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

下面是我总是首先检查这类问题的非常一般的东西

client.UseDefaultCredentials = true;

设置为false。

 类似资料: