電子メールを送信する必要があるコンソール アプリケーションがあります。今は文字列ビルダーを使って電子メールを作成していますが、もっと凝ったものにしたいと思っています。そこで、HTML マークアップを含む ASP.NET MVC スタイル ビューにオブジェクトを送信し、それを郵送して返送するのはよいことだと思いました。今、私はそれを次のように行っています。
private void MailJobList(List<Job> newJobs) {
var body = new System.Text.StringBuilder();
var from = new MailAddress("daemon@mydomain.com");
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);
}
明らかにそれは単なるプレーンテキストですが、私は本当に次のようなことができるようにしたいと思っています:
var body = RenderHTMLMessage(newJobs);
ASP.NET MVC のビュー エンジン (または Spark やその他のビュー エンジン) を活用でき、独自のエンジンを作成する必要はないようです。私がここで的外れである場合、またはこれを行うためのより簡単な方法がある場合は、提案を受け付けています。