asp.net使用mvc 3通过电子邮件发送反馈

时间:2013-05-16 06:04:59

标签: asp.net-mvc-3

我通过电子邮件发送反馈有问题。发送反馈很好我可以收到反馈。但我不知道谁是发件人...它总是表明我自己发送的电子邮件也是......帮助请。

继承我的代码:

[HttpGet]
public ActionResult Feedback()
{
    return View();
}
[HttpPost]
public ActionResult Feedback(string email, string subject, string body)
{
    try
    {
        WebMail.SmtpServer = "smtp.gmail.com";
        WebMail.SmtpPort = 587;
        WebMail.EnableSsl = true;
        WebMail.UserName = "aaaa@gmail.com";
        WebMail.From = email;
        WebMail.Password = "12345";
        WebMail.Send("aaaa@gmail.com",subject,body,email);

        return RedirectToAction("FeedbackSent");
    }
    catch (Exception ex)
    {
        ViewData.ModelState.AddModelError("_FORM", ex.ToString());
    }

    return View();
}

public ActionResult FeedbackSent()
{
    return View();
}

tnx对于那些可以提供帮助的人......电子邮件和密码表明不合法。

1 个答案:

答案 0 :(得分:2)

  

它始终表示该电子邮件是由我自己发送的

这是正常的。您无法代表其他人发送电子邮件。您可以在反馈表单中包含FirstName,LastName和Email字段,要求用户填写它们。如果用户非常友好地填写此信息,您可以将其包含在正在发送的电子邮件正文中。


更新:

根据评论部分的要求,您可以做什么。使用电子邮件字段将信息包含在正文中:

WebMail.Send(
    "aaaa@gmail.com",
    subject,
    string.Format("{0} wrote the following feedback: {1}", email, body),
    email
);