Просмотр электронной почты для 'model' не найден в Postal.MVC - PullRequest
0 голосов
/ 01 ноября 2018

Я использую Postal.MVC5 в моем проекте ASP MVC5. Изначально у меня была конфигурация smtp в web.config, так что этот кусок кода работал нормально и смог успешно отправлять электронную почту.

public async Task<ActionResult>SendEmail(EmployeeViewModel emailModel)
{
  string _errorMessage;

  emailModel.To = "john@outlook.com";
  emailModel.Subject = "Test Subject";
  emailModel.Message = "Test Message";

  await emailModel.SendAsync();

  return Json(new {ErrorMessage = _errorMessage});
}

Теперь мне нужно настроить Smtpclient во время выполнения и выполнить шаги, показанные в этом сообщении stackoverflow: Как установить SMTP-клиент в POSTAL MVC, а не в WEB.Config

public async Task<ActionResult>SendEmail(EmployeeEmailViewModel emailModel)
{
  string _errorMessage;

  emailModel.To = "john@outlook.com";
  emailModel.Subject = "Test Subject";
  emailModel.Message = "Test Message";

  //new code
  SmtpClient client = new SmtpClient("smtp.test.com");
  client.UseDefaultCredentials = false;
  client.Credentials = new NetworkCredential("secretId", "notSecretPassword");
  client.DeliveryMethod = SmtpDeliveryMethod.Network;
  client.Port = 111;
  client.EnableSsl = true;

  Postal.EmailService emailService = new EmailService(new ViewEngineCollection(), () => client);
  await emailService.SendAsync(emailModel);

  return Json(new {ErrorMessage = _errorMessage});
}

Теперь этот код выдает ошибку примерно так: System.Exception: представление электронной почты не найдено для EmployeeEmailViewModel. Места поиска: at Postal.EmailViewRenderer.CreateView (String viewName, ControllerContext controllerContext) at Postal.EmailViewRenderer.Render (электронная почта, строка viewName)

У меня есть представление EmployeeEmailViewModel в ~ / Views / Emails / EmployeeEmailViewModel.cshtml.

Любая идея, почему я получаю это сообщение об ошибке или как я могу решить его? Спасибо Санджив

...