当我设置EnableSSL = false时出现错误

时间:2018-11-29 18:24:38

标签: c# email ssl sendmail

我收到错误消息“ SMTP服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.0必须先发出STARTTLS命令。u78sm8177860pfi.2-gsmtp”,如果我将EnableSSL = false更改为。虽然如果我将(EnableSSL = True)设置为true,它绝对可以正常工作。但是由于业务需求,我必须保持EnableSSL = false。您能帮我如何通过保持EnableSSL = false来发送电子邮件。下面是我的代码。

var smClient = new System.Net.Mail.SmtpClient();
MailMessage lMail = new MailMessage();

// Create Mail

msg.From = new System.Net.Mail.MailAddress("do_no_reply@abc.com", "Scs");
msg.Subject = "Send Email with EnableSSL set to false";
msg.IsBodyHtml = true;
msg.Body = "Test body";

msg.To.Add(recieptents);
// port="25" enableSsl="false" 
 smClient.Port ="25";
smClient.EnableSSL="false"
smClient.Send(lMail);

以下是用于发送电子邮件的设置。

<mailSettings>
  <smtp from="devdotnet06@gmail.com">
    <network host="smtp.gmail.com" port="25" enableSsl="false" 
  userName="devdotnet06@gmail.com" password="*****" 
 defaultCredentials="false"/>

  </smtp>
  </mailSettings>

1 个答案:

答案 0 :(得分:2)

它将无法正常工作,因此,如果确实要退役,则需要使用其他SMTP服务器。

根据文档,要通过Gmail发送,必须使用SSL:

  

外发邮件(SMTP)服务器

     

smtp.gmail.com
  需要SSL:是
  需要TLS:是(如果有)
  需要验证:是
  SSL连接埠:465
  TLS / STARTTLS的端口:587

参考:https://support.google.com/mail/answer/7126229?hl=en