簡體   English   中英

如何使用模板發送電子郵件?

[英]How to send an email using a template?

我在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);

}

建議您使用Razor Engine,網址為http://razorengine.codeplex.com/ 它易於使用,語法與asp.net mvc 3 razor相同

如果您在電子郵件模板中的關鍵字是固定的,則可以使用Sting.Replace(“ Example”,“ XYZ”)並獲得所需的結果

最簡單的解決方案是使用String.Format

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

如果需要更復雜的功能,則應使用@allentranks建議的模板引擎,例如Castle Velocity或Razor。

您可以創建帶有格式和標簽的xsl文件。將數據傳遞到xsl並將其轉換為html格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM