Как я могу изменить адрес электронной почты и имя отправителя?
Я пытаюсь создать контактную форму в 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);
}
1 ответ
Я хочу показать адрес электронной почты и имя пользователя, который отправил его из моей контактной формы, любая помощь?
Да. НЕ ДЕЛАЙ ЭТОГО. Вы когда-нибудь слышали о спаме? Люди, отправляющие письма в учетные записи других доменов?
Одним из способов борьбы с этим является SPF - стандартный подход для любого домена, который не управляется кем-то, кто хочет подвергнуться насилию.
SPF сообщает домену, какому серверу разрешено отправлять электронные письма.
Итак, что происходит сейчас, это:
- Я заполняю вашу контактную форму.
- Ваш веб-сервер отправляет электронную почту на ваш почтовый сервер. Он использует мою электронную почту в качестве отправителя.
- Ваш почтовый сервер видит мой домен, проверяет запись SPF и выбрасывает ее, потому что вашему wqeb-серверу не разрешено отправлять электронные письма для моего домена. Это серьезное условие сбоя, и почтовый сервер может просто уйти от подтвержденного спама.
Так много для контакта. Надеюсь, вы ненавидите контакты, потому что Gmail с радостью выбросит любую полученную вами информацию.
Вы должны внести это в белый список. Но плохие новости - получайте удовольствие, пытаясь заставить gmail внести в белый список ваш веб-сервер. Т.е. не возможно.
Так просто.
Не делай этого. Не притворяйтесь кем-то другим, чем вы, когда вы хотите использовать публичный почтовый сервер.