使用c#发送电子邮件SMTP服务器需要安全连接或客户端未经过身份验证

时间:2015-03-10 11:32:39

标签: c#

我是使用c#创建示例电子邮件发件人,但它显示错误是:

  

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

private void SendHtmlFormattedEmail(string recepientEmail, string subject, string body)
{
    using (MailMessage mailMessage = new MailMessage())
    {
       mailMessage.From = new MailAddress("sysumurugan@gmail.com");
       mailMessage.Subject = subject;
       mailMessage.Body = body;
       mailMessage.To.Add(new MailAddress(recepientEmail));
       SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
       smtp.EnableSsl = true;
       smtp.UseDefaultCredentials = false;
       System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential("sysumurugan@gmail.com", "XXXXXXXXX");
       smtp.Credentials = NetworkCred;
       smtp.Timeout = 10000;
       smtp.Send(mailMessage);
    }
}

请帮我提供样本邮件发件人代码

状态:System.Net.Mail.SmtpStatusCode.MustIssueStartTlsFirst

2 个答案:

答案 0 :(得分:2)

尝试交换这些行:

smtp.UseDefaultCredentials = false;
System.Net.NetworkCredential NetworkCred = new    System.Net.NetworkCredential("sysumurugan@gmail.com", "XXXXXXXXX");

答案 1 :(得分:1)

我转到以下链接: https://www.google.com/settings/security/lesssecureapps

并启用 Access for less security apps

选项

enter image description here