我目前已经实现了Postal,我正在使用它在我的 MVC 应用程序上发送电子邮件。我遇到的问题是我想从我的数据库中检索一个电子邮件地址,而不是对我想发送电子邮件的地址进行硬编码。
因此,就我想在哪里实现这一点提供一些背景信息。创建订单后,我想向与该订单关联的医院发送电子邮件地址。
这是我尝试过的,但它会在这一行引发异常email.To = order.Hospital.Email;
- 如果我对电子邮件地址进行硬编码,例如,它确实有效,email.To = "hospital@hospital.com".
HealthHabitat.dll 中出现“System.NullReferenceException”类型的异常,但未在用户代码中处理
我已将它包含在我的Create POST method
中,以便在保存模型后触发。
电子邮件地址在我的医院模型中保存为字符串。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "OrderID,HospitalID,StaffID,Date,Time,Expected_Date")] Order order)
{
if (ModelState.IsValid)
{
order.StaffID = 5;
db.Orders.Add(order);
db.SaveChanges();
dynamic email = new Email("Example");
email.To = order.Hospital.Email; // this is where you set the email you are sending to.
email.Send();
Success(string.Format("<i class='fa fa-plus-circle'></i> Please Add your Items!", order.OrderID), true);
return RedirectToAction("Details", new { id = order.OrderID });
}
ViewBag.HospitalID = new SelectList(db.Hospitals, "HospitalID", "Name", order.HospitalID);
Danger("<i class='fa fa-warning'></i> Error!", true);
return View(order);
}
有没有人对此有解决方案?我将不胜感激,并提前致谢!
如果需要任何其他信息,请告诉我,我会将其添加到问题中。
医院型号:
public class Hospital
{
public int HospitalID { get; set; }
public string Name { get; set; }
public string Province { get; set; }
public string Email { get; set; }
public string Phone_Number { get; set; }
public virtual ICollection<Order> Orders { get; set; }
}
}