我正在尝试设置MVCMailer使用电子邮件和UserId,当他们在网站注册时设置。我使用常用的MVC框架来设置用户注册框架,因此使用ASPNETDB.MDF DB来跟踪电子邮件、userID和密码。我被困在如何从数据库中拉出当前的用户id和电子邮件,以便MVCMailer知道向何处发送带有密码重置指令的电子邮件。下面是我从DB中获取数据并将其放入send mail函数的尝试。我知道我错了,因为我在会员资格这个词下面有红色的乱码。
public virtual MailMessage Welcome(string ADID)
{
var mailMessage = new MailMessage{Subject = "Welcome"};
mailMessage.To.Add(membership.Email);
ViewBag.Name = membership.UserId;
PopulateBody(mailMessage, viewName: "Welcome");
return mailMessage;
}有没有人知道如何做到这一点,我已经搜索了几个小时,关于如何完成这一点,没有运气。我看过的所有教程似乎都使用了硬编码的值来发送电子邮件。如果您需要任何其他代码,请让我知道,谢谢您的帮助!
发布于 2012-08-17 01:50:40
您可以通过查询您的成员资格提供程序来获取它:
public virtual MailMessage Welcome(string ADID)
{
var mailMessage = new MailMessage{ Subject = "Welcome" };
var user = Membership.GetUser();
mailMessage.To.Add(user.Email);
ViewBag.Name = user.UserName;
PopulateBody(mailMessage, viewName: "Welcome");
return mailMessage;
}另一种可能是从控制器操作发送电子邮件,从而将有关当前连接的用户的信息作为参数传递:
using Mvc.Mailer;
public class HomeController: Controller
{
private readonly UserMailer _mailer = new UserMailer;
public ActionResult Index()
{
return View();
}
public ActionResult SendEmailToNewUser()
{
var user = Membership.GetUser();
_mailer.Welcome(user.Email, user.UserName).Send();
return View();
}
}https://stackoverflow.com/questions/11991712
复制相似问题