使用Mailer ASP.net在电子邮件上发送实体

时间:2018-01-12 17:07:29

标签: c# asp.net linq email mailer

尝试开发应用程序,当用户申请预约时,他们会收到电子邮件确认,其中已收到约会,并在电子邮件中提供了详细信息。我有一个linq查询(创建约会后)从数据库中获取他们的详细信息。我调试了应用程序,详细信息将通过邮件程序方式进行。但是,我收到一封空白的电子邮件。它与ViewBag.Data有关吗?

这是我发送详细信息的地方:

 var app = (from a in db.Appointments
                where appointments.AppointmentId == a.AppointmentId
                   select a).FirstOrDefault()

                UserMailer.AppointmentDetails(app).Send();

我的邮件方法:

public virtual MvcMailMessage AppointmentDetails(Appointments appointment)
    {
        ViewBag.Data = appointment;
        return Populate(x =>
        {
            x.Subject = "Appointment Detail";
            x.ViewName = "AppointmentDetails";
            x.To.Add(appointment.ApplicantEmail);
        });
    }

最后是电子邮件的视图:

    Appointment Details @ViewBag.Data:<br />
Welcome to the  App and enjoy your time!<br />

1 个答案:

答案 0 :(得分:0)

修正了它,我需要在邮件中设置这些:

ViewBag.Details = appointment.DetailsOfAppointment;
        ViewBag.Date = appointment.DateOfAppointment;
        ViewBag.Room = appointment.RoomType;

然后在我的视图中指定它们