为什么我没有收到来自我的MVC 4 Razor网站的电子邮件?

时间:2013-11-25 09:56:19

标签: asp.net asp.net-mvc-4 razor

我想让用户填写一份建议表格。该表单旨在发送到我的管理员的电子邮件地址。没有收到任何电子邮件。这是我的观点。我是编程的初学者。因为IDE中没有显示错误,所以不确定我缺少什么。

@model DonsSolution.Models.MailModel

<h2>Ask the Coach a question</h2>
<fieldset>
<form>
@using (Html.BeginForm(FormMethod.Get))
{
    @Html.ValidationSummary()
    <p>From: </p>
    <p>@Html.Label("From")

        @Html.TextBoxFor(m => m.From)</p>

    <p>@Html.Label("To")
        @Html.TextBoxFor(m => m.To)</p>
    <p>@Html.Label("Subject") </p>
    <p>@Html.TextBoxFor(m => m.Subject)</p>
    <p>@Html.Label("Body")</p>
    <p>@Html.TextAreaFor(m => m.Body)</p>
    <input type="submit" value="Send" />
}
</form>
</fieldset>

控制器:

public class SendMailerController : Controller
{
    //
    // GET: /SendMailer/

    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ViewResult Index(DonsSolution.Models.MailModel _objModelMail)
    {
        if (ModelState.IsValid)
        {
            MailMessage mail = new MailMessage();
            mail.To.Add(_objModelMail.To);
            mail.From = new MailAddress("example@gmail.com");
            mail.Subject = _objModelMail.Subject;
            string Body = _objModelMail.Body;
            mail.Body = Body;
            mail.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient();
            smtp.Host = "smtp.gmail.com";
            smtp.Port = 587;
            smtp.UseDefaultCredentials = false;
            smtp.Credentials = new System.Net.NetworkCredential
            ("example@gmail.com", "password");//  senders User name and password
            smtp.EnableSsl = true;
            smtp.Send(mail);
            return View("Home", _objModelMail);
        }
        else
        {
            return View();
        }

    }

型号:

 public class MailModel
{
    public string From { get; set; }
    public string To { get; set; }
    public string Subject { get; set; }
    public string Body { get; set; }

}

1 个答案:

答案 0 :(得分:0)

我建议将启用SSL设置为false,看起来你会得到这个

错误System.dll中出现“System.Net.Mail.SmtpException”类型的异常,但未在用户代码中处理

其他信息:SMTP服务器需要安全连接,或者客户端未经过身份验证。服务器响应为:5.7.0必须首先发出STARTTLS命令。 dj8sm48457278wid.2 - gsmtp。

您的代码未创建安全连接。