Tengo una aplicación de consola que requiere que envíe correos electrónicos. Ahora mismo uso un generador de cadenas para crear los correos electrónicos, pero me gustaría ser más elegante. Entonces me di cuenta: sería bueno enviar mi objeto a una vista de estilo ASP.NET MVC, donde tendría el marcado HTML, y luego devolverlo para enviarlo por correo. En este momento, lo tengo como;Creando vistas de estilo ASP.NET MVC en una aplicación de consola?
private void MailJobList(List<Job> newJobs) {
var body = new System.Text.StringBuilder();
var from = new MailAddress("[email protected]");
var to = new MailAddress(addresslist.Get());
var message = new MailMessage(from, to);
message.Subject = "New job list";
//mail settings ommitted here for brevity
body.Append("New jobs: ");
if (newJobs.Any()) {
foreach (var newJob in newJobs) {
body.Append(newJob.Job + ", ");
}
}
message.Body = body.ToString();
client.Send(message);
}
Obviamente eso es sólo texto plano, pero realmente me gustaría ser capaz de hacer algo como:
var body = RenderHTMLMessage(newJobs);
Parece que yo debería ser capaz de aprovechar el motor de vista de ASP.NET MVC (o Spark o cualquier otro motor de visualización) y no ruede el mío. Si estoy fuera de la marca aquí o hay una manera más fácil de hacerlo, estoy abierto a sugerencias.
Esto parece ser una pregunta relacionada (y muy similar): http://stackoverflow.com/questions/1730134/asp-net-mvc-email. – R0MANARMY