1

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

这是我的代码:

[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 对于那些可以提供帮助的人.... 电子邮件和密码指示不合法。

4

1 回答 1

2

它总是表明电子邮件是我自己发送的

这很正常。您不能代表其他人发送电子邮件。您可以在反馈表单中包含 FirstName、LastName 和 Email 字段,要求用户填写它们。如果用户愿意填写此信息,您可以将其包含在正在发送的电子邮件的正文中。


更新:

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

WebMail.Send(
    "aaaa@gmail.com",
    subject,
    string.Format("{0} wrote the following feedback: {1}", email, body),
    email
);
于 2013-05-16T06:10:25.760 回答