0

このコードを C# で使用して電子メールを送信しています。このメールをテンプレートに基づいて作成したい. このメールには画像とスタイルが含まれています。メールの特定の内容 (名前、リンクなど) を変更したい。どのようにそれを行うかについてのアイデアはありますか?コードは以下のとおりです。

private void button1_Click(object sender, EventArgs e)
{


// Create outlook application object.
var outlookApplication = new Microsoft.Office.Interop.Outlook.Application();

// Create mail message.
var newMail = (Microsoft.Office.Interop.Outlook.MailItem)outlookApplication.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
newMail.To = "example@exam.com";
newMail.Subject = "Example";
newMail.SentOnBehalfOfName = "team@iny.co.uk";
newMail.Attachments.Add(@"c:\New\DebriefReportTemplate.docx");

newMail.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML;
newMail.HTMLBody = "<p>Dear Example,</p><p>Example example.</p>";
newMail.Display(true);

}
4

4 に答える 4

1

Razor Engine をお勧めします ( http://razorengine.codeplex.com/ ) 。使いやすく、構文はasp.net mvc 3 razorと同じです

于 2012-05-18T05:00:43.817 に答える
0

フォーマットとラベルを使用してxslファイルを作成できます。データをxslに渡し、htmlフォーマットに変換します。

于 2012-05-18T05:49:33.800 に答える
0

最も簡単な解決策は、を使用することですString.Format

wMail.HTMLBody = string.Format("<p>Dear {0},</p><p>{1}</p>", name, message);

より複雑なものが必要な場合は、@ allentranksが提案したように、CastleVelocityやRazorなどのテンプレートエンジンを使用する必要があります。

于 2012-05-18T05:16:08.577 に答える
0

メール テンプレートのキーワードが修正されている場合は、Sting.Replace("Example","XYZ") を使用して目的の結果を得ることができます

于 2012-05-18T05:07:16.840 に答える