I can send a simple email, I can also send emails using a specific template w/ the TemplateId like the example below, but
QUESTION - How do I send this template below and add or include handlebar data (ex. {"name":"Mike", "url":"some_url", "date":"04/18/2022})?
FYI - I can't find any doc that shows any C# examples. I did find this link to create a transactional template but it doesn't send the email. So not sure here if this is what I'm looking for...
var client = new SendGridClient(Options.SendGridKey);
var msg = new SendGridMessage() {
From = new EmailAddress(fromEmailAddress, fromEmailName),
Subject = subject,
PlainTextContent = message,
HtmlContent = message,
TemplateId = "d-30710e173a174ab58cc641nek3c980d4c"
};
var response = await client.SendEmailAsync(msg);
The solution is that you need to remove the
PlainTextContent
andHtmlContent
properties to make use of the template. Also, you need to provide adynamicTemplateData
object that contains your placeholders.Here are two code examples that send dynamic template emails with and without the helper class (search for
dynamic_template_data
anddynamicTemplateData
). So the full snippet with the mail helper class would be:PS: Here is the general API documentation that explains the available properties.