В настоящее время я внедрил Postal и использую его для отправки электронных писем в своем приложении MVC. Проблема, с которой я столкнулся, заключается в том, что я хочу получить адрес электронной почты из своей базы данных вместо того, чтобы жестко запрограммировать адрес, на который я хочу отправить электронное письмо.
Итак, чтобы дать немного контекста того, где я хотел бы это реализовать. После того как я создам свой заказ, я хочу отправить в больницу адрес электронной почты, связанный с этим заказом.
Это то, что я пробовал, но в этой строке выдается исключение email.To = order.Hospital.Email; - Это работает, если я жестко закодирую адрес электронной почты, например, email.To = "hospital@hospital.com".
Исключение типа «System.NullReferenceException» возникло в
HealthHabitat.dll, но не было обработано в пользовательском коде.
Я включил его в свой метод Create POST, чтобы он срабатывал после сохранения модели.
Адрес электронной почты сохранен как строка в моей модели больницы.
[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(" 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(" 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 Orders { get; set; }
}
}
Подробнее здесь: https://stackoverflow.com/questions/329 ... se-asp-net