I want to create my own email templates to support my custom features. Can I do this? If not, can someone suggest a workaround.
Thanks!
/// <summary>
/// Sends generic message to a customer, using a specific template
/// </summary>
/// <param name="customer">Customer instance</param>
/// <param name="languageId">Message language identifier</param>
/// <param name="templateName">Name of template to use</param>
/// <returns>Queued email identifier</returns>
public static int SendMessageFromTemplate(Customer customer, int languageId, string templateName)
{
if (customer == null)
throw new ArgumentNullException("customer");
if(string.IsNullOrEmpty(templateName))
throw new ArgumentNullException("templateName");
var localizedMessageTemplate = MessageManager.GetLocalizedMessageTemplate(templateName, languageId);
if (localizedMessageTemplate == null || !localizedMessageTemplate.IsActive)
return 0;
var emailAccount = localizedMessageTemplate.EmailAccount;
string subject = ReplaceMessageTemplateTokens(customer, localizedMessageTemplate.Subject);
string body = ReplaceMessageTemplateTokens(customer, localizedMessageTemplate.Body);
string bcc = localizedMessageTemplate.BccEmailAddresses;
var from = new MailAddress(emailAccount.Email, emailAccount.DisplayName);
var to = new MailAddress(customer.Email, customer.FullName);
var queuedEmail = InsertQueuedEmail(5, from, to, string.Empty, bcc, subject, body,
DateTime.UtcNow, 0, null, emailAccount.EmailAccountId);
return queuedEmail.QueuedEmailId;
}