asp.net-mvc – asp.net mvc 4将表单从站点发送到电子邮件
|
我在我的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 API将http响应转换为json数组
- asp.net-web-api – 从响应中删除标题
- ASP.NET Repeater ItemDataBound事件中等效的Eval(“field”
- asp.net-core – ASP.NET核心DisplayAttribute本地化
- asp.net-mvc – 认证之前调用的ASP.NET MVC控制器构造函数
- ASP.NET私有成员字段在回发时丢失了值
- asp.net-mvc – 使用web.config关闭MVC中的身份验证
- 用C#实现pdf文件的完整性验证
- asp.net-mvc – 在MVC中写数据库和业务逻辑的位置?
- asp.net-mvc – asp.net mvc wiki
