我尝试在mvc 4中创建一个联系表单,这是工作但发件人(电子邮件和名称)总是与我在smtp的凭据中使用的相同,我想显示电子邮件和用户名谁从我的联系表格发送,任何帮助?这是我的代码:
模型:
[Required(ErrorMessage="Requerido")]
public string nombre { get; set; }
[Required(ErrorMessage = "Requerido")]
[DataType(DataType.EmailAddress)]
public string email { get; set; }
[Required(ErrorMessage = "Requerido")]
public string telefono { get; set; }
[Required(ErrorMessage = "Requerido")]
public string comentario { get; set; }
控制器:
[HttpPost]
public ActionResult Index(contactModel model)
{
if (ModelState.IsValid)
{
insertContact(model.nombre, model.email, model.telefono, model.comentario);
TempData["notice"] = "your form was submitted.";
return RedirectToAction("Index", "Home");
}
return View();
}
private void insertContact(string nombre, string email, string telefono, string comentario)
{
MailMessage mail = new MailMessage();
mail.To.Add("addressee@example.com");
mail.From = new MailAddress(email, nombre);
mail.Sender = new MailAddress(email, nombre);
mail.Subject = "Solicito informacion";
mail.Body = telefono + comentario;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 25;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("my.email@gmail.com","my.pass");
smtp.EnableSsl = true;
smtp.Send(mail);
}
答案 0 :(得分:1)
我想显示电子邮件以及从我的联系表单中发送的用户的姓名 帮助
是。不要那样做。曾经听说过垃圾邮件?人们在其他域帐户中发送电子邮件?
一种打击SPF的方法 - 对任何想要被滥用的人运营的域名进行标准审批。
SPF告诉某个域允许哪个服务器发送电子邮件。
那么,现在发生的是:
非常适合联系。我希望你讨厌联系,因为gmail很乐意抛弃你得到的任何信息。
您需要将其列入白名单。但是坏消息 - 试着让gmail将你的网络服务器列入白名单很有趣。即不可能。
那很简单。
不要这样做。
,当你想使用公共电子邮件服务器时,不要假装别人