如何使用模板发送电子邮件?

时间:2012-05-18 04:55:23

标签: c# visual-studio c#-4.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 个答案:

答案 0 :(得分:1)

建议您使用Razor Engine,http://razorengine.codeplex.com/。它易于使用,语法与asp.net mvc 3 razor

相同

答案 1 :(得分:0)

  

如果电子邮件模板中的关键字已修复,那么您可以   Sting.Replace(“示例”,“XYZ”)并获得您想要的结果

答案 2 :(得分:0)

最简单的解决方案是使用String.Format

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

如果你需要更复杂的东西,你应该像@allentranks建议的那样使用像Castle Velocity或Razor这样的模板引擎。

答案 3 :(得分:0)

您可以使用格式和标签创建和xsl文件。将数据传递给xsl并将其转换为html格式。