C# 如何更改发件人的电子邮件和姓名?

C# 如何更改发件人的电子邮件和姓名?,c#,.net,asp.net-mvc,email,asp.net-mail,C#,.net,Asp.net Mvc,Email,Asp.net Mail,我尝试在MVC4中创建一个联系人表单,这是可行的,但是发件人(电子邮件和姓名)与我在smtp凭据中使用的发件人(电子邮件和姓名)始终相同,我想显示电子邮件以及从我的联系人表单发送邮件的用户的姓名,有什么帮助吗?这是我的代码: 型号: [Required(ErrorMessage="Requerido")] public string nombre { get; set; } [Required(ErrorMessage = "Requerido")] [DataType(DataType.Em

我尝试在MVC4中创建一个联系人表单,这是可行的,但是发件人(电子邮件和姓名)与我在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);
    }
我想显示电子邮件以及从我的联系人表单发送电子邮件的用户的姓名,任何 帮忙

对。不要那样做。听说过垃圾邮件吗?在其他域帐户中发送电子邮件的人

与之抗争的一种方法是SPF——这是一种标准方法,适用于任何不由希望被滥用的人运行的域

SPF告诉域允许哪个服务器发送电子邮件

那么,现在发生的是:

  • 我填一下你的联系表
  • 您的web服务器将电子邮件发送到您的电子邮件服务器。它正在使用我的电子邮件作为发件人
  • 您的电子邮件服务器看到我的域,检查SPF记录并将其丢弃,因为您的wqeb服务器不允许为我的域发送电子邮件。这是一个硬失败的条件和Snebail电子邮件服务器只是扔掉确认垃圾邮件
接触到此为止。我希望你讨厌联系人,因为gmail会很高兴地扔掉你得到的任何这样的信息

你需要把它列入白名单。但坏消息是,让gmail将你的网络服务器列入白名单会很有趣。也就是说,不可能

那很简单

不要这样做。当你想使用公共电子邮件服务器时,不要假装自己不是别人