顧客の詳細と注文の詳細を記載したメールを顧客に送信する必要があるとします。私はhtmlファイルにテンプレートhtmlデータを持っています。顧客データがあり、注文の詳細も同じhtmlテンプレートファイルにあります。私のhtmlは次のようになります
<html>
<body>
Hi {FirstName} {LastName},
Here are your orders:
{foreach Orders}
Order ID {OrderID} Quantity : {Qty} <strong>{Price}</strong>.
{end}
</body>
</html>
ここで、{} で囲まれたすべてのサンプル キーワードに実際の値を入力し、反復して注文を入力したいと考えています。
Google で検索したところ、Microsoft がメール本文を動的に生成できるMailDefinitionというクラスを提供していることがわかりました。私も好きなサンプルコードを手に入れました
MailDefinition md = new MailDefinition();
md.From = "test@domain.com";
md.IsBodyHtml = true;
md.Subject = "Test of MailDefinition";
ListDictionary replacements = new ListDictionary();
replacements.Add("<%Name%>", "Martin");
replacements.Add("<%Country%>", "Denmark");
string body = "
Hello <%Name%> You're from <%Country%>.";
MailMessage msg = md.CreateMailMessage("you@anywhere.com", replacements, body, new System.Web.UI.Control());
上記のコードにより、疑似値を実際の値に置き換えることができますが、注文の詳細を反復して注文データを入力する方法がわかりません。
そのため、MailDefinition クラスを使用できる場合は、ループを反復して注文の詳細の本文を生成する方法を示すコードを教えてください。