C# c语言中的电子邮件失败#

C# c语言中的电子邮件失败#,c#,email,C#,Email,我正在asp.net mvc中尝试发送电子邮件代码,但我不断收到错误{“发送邮件失败”。}我已经参考了这里提出的许多问题,并尝试了建议的解决方案,但仍然收到相同的错误。我哪里出错了? 这是我的密码: private static void SendEmailWithErrors(string result) { SmtpClient smtpclient = new SmtpClient(); MailMessage message = new Mail

我正在asp.net mvc中尝试发送电子邮件代码,但我不断收到错误{“发送邮件失败”。}我已经参考了这里提出的许多问题,并尝试了建议的解决方案,但仍然收到相同的错误。我哪里出错了?
这是我的密码:

 private static void SendEmailWithErrors(string result)
    {
        SmtpClient smtpclient = new SmtpClient();
        MailMessage message = new MailMessage();
        try
        {
            MailAddress fromAddress = new MailAddress("email address");
            smtpclient.Host = "smtp.gmail.com";
            smtpclient.Port = 587;
            smtpclient.UseDefaultCredentials = true;
            smtpclient.EnableSsl = true;
            smtpclient.Credentials = new System.Net.NetworkCredential("email address", "password");
            message.From = fromAddress;
            message.To.Add("email address");
            message.Subject = "Exception raised";
            message.IsBodyHtml = false;
            message.Body = result;
            smtpclient.Send(message);
        }
        catch(Exception ex)
        {

        }
    }

签入您发送邮件的电子邮件ID。可能有人向您发送警告邮件,表示有人试图非法访问您的邮件。只需确保降低电子邮件的安全性,以允许第三方应用程序访问它。对于Gmail,这是在隐私设置中完成的。
一旦from电子邮件地址的安全性降低,它应该可以正常工作。

谢谢大家发布您的答案,我正在使用本地计算机,并且IP地址已在服务器计算机中配置,因此导致冲突。当我从服务器上运行应用程序时,代码工作正常。

发送邮件失败是最常见的。你能发布堆栈跟踪吗?我假设它是例外,那么调试器会怎么说?例外是什么?您可以发布堆栈跟踪吗?按照@nXu的建议检查异常,您可能处于防火墙之下,它可能会阻止您访问邮件服务器。您可以尝试**EnableSsl=false**;它解决了我的问题。Gmail需要SSL(TLS),不要禁用它。顺便说一句,看看这个:
private static void SendEmail(string result)
{ 

  var fromAddress = new MailAddress("from@gmail.com", "From Name");
  var toAddress = new MailAddress("to@example.com", "To Name");

  var smtp = new SmtpClient
  {
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
  };
  using (var message = new MailMessage(fromAddress, toAddress)
   {
    Subject = "Mail Subject",
    Body = result 
   })
   {
    smtp.Send(message);
   }
}