Ich habe eine Konsolenanwendung, die erfordert, dass ich E-Mails sende. Im Moment benutze ich einen String-Builder, um die E-Mails zu erstellen, aber ich würde gerne mehr Phantasie haben. Dann dämmerte es mir: Es wäre nett, mein Objekt an eine ASP.NET MVC-Stilansicht zu senden, wo ich das HTML-Markup hätte, und es dann an Mail zurücksenden würde. Im Moment habe ich es so;ASP.NET MVC-Stilansichten in einer Konsolenanwendung erstellen?
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);
}
Offensichtlich das ist nur Klartext, aber ich würde wirklich in der Lage sein mag so etwas wie zu tun:
var body = RenderHTMLMessage(newJobs);
Es scheint, wie ich in der Lage sollte ASP.NET MVC-Ansicht-Engine zu nutzen (oder Spark oder eine andere View-Engine) und nicht meine eigenen rollen. Wenn ich hier abwesend bin oder es einen einfacheren Weg gibt, bin ich offen für Vorschläge.
Dies scheint eine verwandte (und sehr ähnliche) Frage zu sein: http://stackoverflow.com/questions/1730134/asp-net-mvc-email. – R0MANARMY