繁体   English   中英

通过smtp发送电子邮件后显示消息

[英]Display message after sending email by smtp

我创建一个反馈表单,然后通过SMTP Server通过电子邮件将其发送给管理员。 我已成功发送。 现在,我想在发送电子邮件后显示“ 电子邮件发送成功消息”。 我正在使用Response.Write但效果不佳。 我已经为此目的使用了AjaxJquery和许多其他解决方案,但是它们没有显示出很好的效果。

FeedbackController.cs

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Name,Email,Comments")] Feedback feedback, string Message)
{
    if (ModelState.IsValid)
    {
        bool result = false;
        db.Feedbacks.Add(feedback);
        db.SaveChanges();
        result = SendEmail("abc@gmail.com", "Feedback", "<p>Hi Admin,<br/>My name is "+ feedback.Name + ". <br/> E_mail ID: " + feedback.Email + "<br/><br/>" + feedback.Comments + "<br/>Kind Regards,<br/>" + feedback.Name + "</p>");
        Response.Write("Email sent succeed");
        ModelState.Clear();
        return View("Create");
    }
    return View(feedback);        
}

您可以执行以下操作:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Name,Email,Comments")] Feedback feedback, string Message)
{
  if (ModelState.IsValid)
  {
     //your code    
      TempData["EmailSent"] = "Email sent succeed";   
      return View("Create");
  }
  return View(feedback);
}

在您的创建视图中

@if (TempData["EmailSent"] != null)
{
    <p>@TempData["EmailSent"].ToString()</p>
}

这只是一种实现方式,您也可以利用ViewBag属性来实现此目的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM