0

我能够从 LocalHost 成功发送电子邮件。托管我的网站后,我无法发送。以下是错误:

System.Net.Mail.SmtpException:SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应是: 5.7.0 必须首先发出 STARTTLS 命令。ha10sm40374374pbc.23 - gsmtp

谁能帮我解决这个问题。

下面是代码:

  public void SendMail(string ToMail, string subject, string Message)
        {
                    // Gmail Address from where you send the mail
            string fromAddress = "mygmailid@gmail.com";
                    // any address where the email will be sending
            //string toAddress = ToMail;
                    //Password of your gmail address
             const string fromPassword = "********";
                     // Passing the values and make a email formate to display
            //string subject = subject;
             string body = "\n\n"+Message;
                     // smtp settings
                    var smtp = new System.Net.Mail.SmtpClient();
                    {
                        smtp.Host = "smtp.gmail.com";
                        smtp.Port = 587;
                        smtp.EnableSsl = true;
                        smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
                        smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
                        smtp.Timeout = 20000;

                    }
                    // Passing values to smtp object
                     smtp.Send(fromAddress, ToMail, subject, body);


         }
4

2 回答 2

0

谷歌发送了一封主题为“阻止可疑登录”的邮件,我选择了这是我唯一的选项。然后更改了 Gmail 密码并在应用程序中使用它。现在也可以从生产服务器发送邮件...

于 2013-09-25T11:06:06.903 回答
0

试试下面的代码:

            using (MailMessage mailMessage = new MailMessage())
              {
                mailMessage.From = new MailAddress(email);
                mailMessage.Subject = "YOUR_SUBJECT";
                mailMessage.Body = "YOUR_MAIL_BODY";

                mailMessage.To.Add(new MailAddress("RECIPIENT_EMAILID"));

                SmtpClient smtp = new SmtpClient();
                smtp.Host = "smtp.gmail.com";
                smtp.Port = 587;
                smtp.EnableSsl = true;

                System.Net.NetworkCredential NetworkCred = new 
                System.Net.NetworkCredential();
                NetworkCred.UserName = "SENDER_MAIL";
                NetworkCred.Password = "SENDER_MAIL_PASSWORD";
                smtp.UseDefaultCredentials = true;
                smtp.Credentials = NetworkCred;

                smtp.Send(mailMessage);
             }

调用上述方法后,GOOGLE 或 GMAIL 将向您发送一封有关安全性的邮件(以允许不太安全的应用程序配置邮件),然后允许该邮件。

于 2018-05-30T09:46:23.483 回答