Integrating with the SMTP API
Integrating with SendGrid
To integrate with SendGrid's SMTP API:
- Create an API Key with at least "Mail" permissions.
- Set the server host in your email client or application to
smtp.sendgrid.net
. This setting is sometimes referred to as the external SMTP server or the SMTP relay. - Set your username to the string
apikey
. This setting is the exact string "apikey" and not the API key itself. - Set your password to the API key generated in step one.
- Set the port to
587
(or as specified below).
When submitting base64 encoded API key values, be sure you have not included any newline or whitespace characters by accident. This can happen when copying the encoded key from an environment that line wraps output. SMTP is a line-oriented protocol, and linefeed characters will prevent you from authenticating successfully.
SMTP ports
- For an unencrypted or a TLS connection, use port
25
,2525
, or587
. - For a SSL connection, use port
465
.
If you are unsure which port to use, a TLS connection on port 587 is typically recommended. To better understand the difference between ports 465 and 587, see the Twilio SendGrid blog post, "What's the Difference Between Ports 465 and 587".
Build SMTP email
Now that you've successfully integrated with SendGrid, learn to build SMTP email.
Rate limits
When using SMTP to send emails through SendGrid, it's essential to be aware of the following rate limits:
- You may send up to 5k messages per SMTP connection.
- You may open up to 10k concurrent connections from a single server.
Additional resources
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.