Sending a Legacy Transactional Template Email over SMTP
Who should consider using the X-SMTPAPI?
For customers who are unable to use the Web API v3, SMTP or v2 is an acceptable option.
The X-SMTPAPI does not support Dynamic Transactional Templates. For sending Dynamic Transactional Templates you need to use v3 Mail Send.
Before you begin
Before you create and send a legacy transactional template email over SMTP you need to do the following:
- Integrate with the SendGrid SMTP API
- Send a test email over SMTP
- Build an SMTP Email
- Create a Legacy Transactional Template
Sending a test Email
Sending a test SMTP email with Telnet
Sending a test SMTP email with Telnet is one of the most basic tests you can do. This test is useful in checking the connection and determining if the most basic of problems:
- Is the server up?
- Is there a firewall blocking communication?
- Does the mail server allow for relaying of a particular domain/email address?
- What SMTP commands does the mail server support?
- Does the server respond with the correct hostname?
- Does the connection work outside any third party software or APIs?
Sending an Email
Code Examples with different clients for SMTP
- SMTP Go Code Example
- SMTP Node.js Code Example
- SMTP PHP Code Example
- SMTP Perl Code Example
- SMTP Python Code Example
- SMTP Ruby Code Example
Sending via v2 mail send
- Go Code Example
- Node.js Code Example
- PHP Code Example
- Perl Code Example
- Python Code Example
- Ruby Code Example
- C# Code Example
- Java Code Example
Enabling a Template
Make sure that the version of the template you want to use is set to active by using:
-
The Activate a transactional template version endpoint
/templates/{template_id}/versions/{version_id}/activate
To use a legacy template when you send, configure the X-SMTPAPI
header of an SMTP message:
- Enable the
templates
filter - Set the
template_id
to one of your legacy transactional templates
Example
{
"filters": {
"templates": {
"settings": {
"enable": 1,
"template_id": "5997fcf6-2b9f-484d-acd5-7e9a99f0dc1f"
}
}
}
}
Set the Body and Subject Tags
The <%subject%>
property is used for both Text and HTML templates.
The text
property is substituted into the <%body%>
of the text template and html
is substituted into the <%body%>
of the HTML template.
Text or HTML Templates?
It is best practice to provide content for both the html
and the text
properties in all of your emails.
If the text
property is present, but not html
, then the resulting email will only contain the text version of the template, not the HTML version.
Enabling a legacy template means that the subject
and body
content of your message will behave differently.
- If you want only the message's content to be displayed, populate only the token in the template's field.
- If you want only the template's content to be displayed, leave the message field (subject or body) empty, and the template will populate.
Advanced options
You can use X-SMTPAPI substitution and section tags in your template's subject and body content, and they will be replaced with the values specified when you send the message.
Substitution Tags
Substitution tags allow you to generate dynamic content for each recipient on your list. When you send to a list of recipients over SMTP API, you can specify substitution tags specific to each recipient.
Section Tags
Section tags allow you to substitute in content in an SMTP message. Section tags are similar to substitution tags but are specific to the message, and not the recipient. Section tags have to be contained within a Substitution tag since SendGrid needs to know which data to populate for the recipient.
Need some help?
We all do sometimes. Get help now from the Twilio SendGrid Support Team.
Running into a coding hurdle? Lean on the wisdom of the crowd by browsing the SendGrid tag on Stack Overflow or visiting Twilio's Stack Overflow Collective.