Integrating with the SMTP API
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).
Info
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.
- For an unencrypted or a TLS connection, use port
25
,2525
, or587
. - For a SSL connection, use port
465
.
Info
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".
Now that you've successfully integrated with SendGrid, learn to build SMTP email.
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.
SendGrid recommends setting your server host to smtp.sendgrid.net
, and not directly pointing to SendGrid IP addresses. SendGrid IP addresses occasionally change without notice and hardcoding IP addresses, especially without a way to regularly check for updates, can cause integrations to break.