c#中的电子邮件失败

时间:2015-03-10 13:06:20

标签: c# email-integration

我正在尝试在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)
        {

        }
    }

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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