【发布时间】:2017-10-28 17:54:45
【问题描述】:
使用此链接How to Implement Contact Us Page in ASP.NET MVC (ASP.NET 5 ) 中的教程。我设法让我的应用程序向我的 gmail 帐户发送电子邮件。但是,它在发布后失败并给出“发送邮件失败”错误。我已经完成了您可以在下面看到的可能的修复,但没有帮助。谢谢。
这是我的 HomeController 代码:
public ActionResult Contact(Contact c)
{
if (ModelState.IsValid)
{
try
{
MailMessage msg = new MailMessage();
StringBuilder sb = new StringBuilder();
msg.From = new MailAddress("example1@gmail.com");
msg.To.Add("example1@gmail.com");
msg.Subject = c.Subject;
//msg.IsBodyHtml = false;
sb.Append("<b>First name: </b>" + c.FirstName + "<br/><br/>");
sb.Append("<b>Last name: </b>" + c.LastName + "<br/><br/>");
sb.Append("<b>Email: </b>" + c.Email + "<br/><br/>");
sb.Append("<b>Phone: </b>" + c.PhoneNumber + "<br/><br/>");
sb.Append("<b>Message: </b>" + c.Message + "<br/><br/>");
msg.Body = sb.ToString();
msg.IsBodyHtml = true;
// We use gmail as our smtp client
SmtpClient smtpClient = new SmtpClient();
smtpClient.Send(msg);
msg.Dispose();
ModelState.Clear();
ViewBag.ContactMessage = "Your Message has been sent. Thank you for Contacting us. ";
}
catch (Exception ex)
{
ModelState.Clear();
ViewBag.ContactMessage = $" Sorry we are facing the following Problem: {ex.Message}";
}
}
return View();
}
还有我的 Web.config 文件:
<system.net>
<mailSettings>
<smtp deliveryMethode="Network">
<network host="smtp.gmail.com" port"587" userName="***" password="***" enableSsl="true"/>
</smtp>
</mailSettings>
</system.net>
【问题讨论】:
-
我的错,那是错误的。那么问题是因为 m 使用谷歌吗?
-
Google 有很多限制,几年前我有一种以 SMTP 形式发送电子邮件的方法,但很快意识到不是那么稳定,我转向了实际上为此构建的服务。 . 你有几个,只需选择一个,现在的优惠是惊人的,因为 Amazon SES(每月免费 62k 封电子邮件)到 Postmark、SendGrid、AuthMailer ......等等......
-
猜猜问题不是谷歌,因为我更改了我的域电子邮件,结果是一样的。它在 LocalHost 中调试时向我的域电子邮件发送消息,但在我发布后出现同样的错误。
标签: c# asp.net asp.net-mvc email