You have different options for sending transactional SendGrid templates.
1) Using the SendGrid SMPT API
In this case, we can use the Meteor email package (as you tried).
To add an email package to the meteor, we need to enter the sale:
meteor add email
In this case, according to the SendGrid Docs :
The text property is replaced by <% body%> of the text template, and html is replaced by <% body%> of the HTML template. If the text property is present, but not html , then the received email will contain only the text version of the template, and not the HTML version.
So, in your code you also need to provide the http property, that is all.
This could be your server code :
// Send via the SendGrid SMTP API, using meteor email package Email.send({ from: Meteor.settings.sendgrid.sender_email, to: userEmail, subject: "your template subject here", text: "template plain text here", html: "template body content here", headers: { 'X-SMTPAPI': { "filters": { "templates": { "settings": { "enable": 1, "template_id": 'c040acdc-f938-422a-bf67-044f85f5aa03' } } } } } });
2) Using the SendGrid v3 web interface
You can use the meteor http package to use SendGrid Web API v3 ( here docs ). In this case, we can use the Meteor http package.
To add the Meteor http package type to the shell:
meteor add http
Then in server code you can use