我正在尝试在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)
{
}
}
答案 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地址,因此导致了冲突。当我从服务器机器运行应用程序时,代码工作正常。