asp.net-mvc – asp.net mvc 4将表单从站点发送到电子邮件
发布时间:2020-12-15 19:46:05 所属栏目:asp.Net 来源:网络整理
导读:我在我的mvc网站上有反馈表,看起来像 我需要将表单发送到电子邮件. 我为我的表单创建了模型 using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace ComponentTrading.Web.Models {public class FeedbackForm { p
我在我的mvc网站上有反馈表,看起来像
我需要将表单发送到电子邮件. 我为我的表单创建了模型 using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace ComponentTrading.Web.Models { public class FeedbackForm { public string Name { get; set; } public string Email { get; set; } public string Phone { get; set; } public string Message { get; set; } } } 我为我的表单Contacts.cshtml创建了视图 @using (Html.BeginForm("Contacts","Home",FormMethod.Post,new { id = "contact-form" })) { <fieldset> @Html.TextBoxFor(model => model.Name,new { @Value = Name }) @Html.TextBoxFor(model => model.Email,new { @Value = "E-mail" }) @Html.TextBoxFor(model => model.Phone,new { @Value = Phone }) @Html.TextAreaFor(model => model.Message,new { @class = "img-shadow" }) <input class="form-button" data-type="reset" value="Clear" /> <input class="form-button" data-type="submit" type="submit" value="Send" /> </fieldset> } 我在我的控制器上写了这段代码 [HttpGet] public ActionResult Contacts() { FeedbackForm temp = new FeedbackForm(); temp.Message = @Resources.Global.Contacts_Form_Message_Field; return View(temp); } [HttpPost] public ActionResult Contacts(FeedbackForm Model) { string Text = "<html> <head> </head>" + " <body style= " font-size:12px; font-family: Arial">"+ Model.Message+ "</body></html>"; SendEmail("tayna-anita@mail.ru",Text); FeedbackForm tempForm = new FeedbackForm(); return View(tempForm); } public static bool SendEmail(string SentTo,string Text) { MailMessage msg = new MailMessage(); msg.From = new MailAddress("Test@mail.ru"); msg.To.Add(SentTo); msg.Subject = "Password"; msg.Body = Text; msg.Priority = MailPriority.High; msg.IsBodyHtml = true; SmtpClient client = new SmtpClient("smtp.mail.ru",25); client.UseDefaultCredentials = false; client.EnableSsl = false; client.Credentials = new NetworkCredential("TestLogin","TestPassword"); client.DeliveryMethod = SmtpDeliveryMethod.Network; //client.EnableSsl = true; try { client.Send(msg); } catch (Exception) { return false; } return true; } 我的代码没有任何错误, 我使用了Fiddler Web Debugger,我得到了Send-button click 我认为,这意味着没事,所以我不能忽视什么是错的? 解决方法
我已经复制粘贴了您的代码,并通过一些小的修改使其工作:
>我没有设置Credentials属性 @ Html.TextBoxFor(model => model.Name) 这些是我所做的唯一更改,我让您的应用程序正常工作.这让我相信SMTP客户端的配置一定有问题.你能检查一下client.Send(msg);引发的异常吗?我希望它会说一些关于无效网络凭证或类似的东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 使用窗口域帐户进行身份验证的Web应用程序
- asp.net-mvc – 设计ASP.NET MVC 3站点以支持客户特定的视图
- asp.net – 使用Active Directory的REST API的授权方法
- asp.net – jqgrid editurl:控制器动作参数
- asp.net – 在运行时更改SqlDataSource.SelectCommand会破坏
- asp.net – 内联代码不作为后面的代码执行
- Exceptionless - .Net Core开源日志框架
- asp.net-mvc – WebApi和Controller overkill
- asp-classic – XP经典ASP上的IIS 5.1似乎处于单线程模式
- asp.net – 限制关于AJAX调用的视图状态信息