Hi
I've created a email template in Outlook and saved it as a .Msg file. I want to put dynamic fields in the email body. How can I use Aspose.Email to populate these dynamic fields.
See attached example, I have #Name# where i get the persons name from a database. How can I replace these fields in the .Msg file?
thanks
AJ
Hi Arjuna,
Thank you for using Aspose.Email.
Please refer to the following code that performs the task you are in need of. Please let us know if you have any additional query/inquiry related to Aspose.Email.
C# Sample Code:
MailMessage mailMsg = MailMessage.Load("AsposeTemplate.msg");
//Create a new TemplateEngine with the msg message.
TemplateEngine engine = new TemplateEngine(mailMsg);
//Create an instance of DataTable
//Fill a DataTable as data source
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
//Create an instance of DataRow
DataRow dr;
dr = dt.NewRow();
dr["Name"] = "Kashif";
dt.Rows.Add(dr);
MailMessageCollection messages;
try
{
//Create messages from the message and datasource.
messages = engine.Instantiate(dt);
MailMessage msg = messages[0];
//Save the message
msg.Save("Test.msg", MailMessageSaveType.OutlookMessageFormat);
//or send it using Smtp
//Create an instance of SmtpClient and specify server, port, username and password
SmtpClient client = new SmtpClient("smtp.server.com", 25, "username", "password");
//Send messages in bulk
client.BulkSend(messages);
}
catch (MailException ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
}
catch (SmtpException ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
}