我想使用MVC 3应用程序发送电子邮件。我在一个带有电子邮件地址的数据库中有一个名为Reviewer的用户表。我想要的是当我使用复选框从视图中的表中选择2-3个用户时,每个用户的电子邮件地址应自动插入到反馈视图页面的“文本框”中,但它不起作用。它从控制器而不是反馈表单页面获取Webmail.Send()
的值。有什么想法吗?
[HttpPost]
public ActionResult Feedback(string email, string subject, string body)
{
try
{
WebMail.SmtpServer = "smtp.gmail.com";
WebMail.EnableSsl = true;
WebMail.SmtpPort = 25;
WebMail.UserName = "myemail@gmail.com";
WebMail.Password = "*******123";
WebMail.From = "myemail@gmail.com";
WebMail.Send(
"senderemail@yahoo.com",
subject,
body,
email
);
return RedirectToAction("FeedbackSent");
}
catch (Exception ex)
{
ViewData.ModelState.AddModelError("_FORM", ex.ToString());
}
return View();
}
这是反馈的查看页面:
@using(Html.BeginForm()) {
<table>
<tr>
<td>Your e-mail:</td>
<td>@Html.TextBox("email")</td>
</tr>
<tr>
<td>Subject:</td>
<td>@Html.TextBox("subject")</td>
</tr>
<tr>
<td>Body:</td>
<td>@Html.TextArea("body")</td>
</tr>
</table>
<input type="submit" value="Send" />
}
答案 0 :(得分:2)
你应该用这个:
WebMail.Send(
email,
subject,
body
);
或者你可以消除这条线:
WebMail.From = "myemail@gmail.com";
并使用:
WebMail.Send(
email,
subject,
body,
from: "myemail@gmail.com"
);
有关WebMail
课程的更多信息以及WebMail.Send
的参数可以在此处找到:WebMail
Class on MSDN。