Response codes

Each SMTP call you make returns a response. 200 responses are usually success responses, and 400 responses are usually deferrals. SendGrid continues to retry resending 400 messages for up to 72 hours. 500 responses are hard failures that are not retried by our servers. This table has possible response codes with example errors and a general explanation of that sort of response. This is not an all-inclusive list - if you are getting an error you don’t recognize, check out our Deliverability center.

Error Message Explaination
250 `Queued mail for delivery` Your mail has been successfully queued! This response indicates that the recipient server has accepted the message.
421 `Message from (X.X.X.X) temporarily deferred` Messages are temporarily deferred because of recipient server policy - often it’s because of too many messages or connections in too short of a timeframe. We continue to retry deferred messages for up to 72 hours. Consider temporarily sending less messages to a domain that is returning this code because this could further delay your messages currently being tried.
450 `too frequent connects from 198.37.147.135, please try again later.` The message failed because the reciepients mailbox was unavailable, perhaps because it was locked or was not routable at the time. We continue to retry messages for up to 72 hours. Consider temporarily sending less messages to a domain that is returning this code because this could further delay your messages currently being tried.
451 `Temporary local problem - please try later` The message simply failed, usually due to a far-end server error. We continue to retry messages for up to 72 hours.
452 `Too many recipients received this hour (throttled)` The message has been deferred due to insufficient system storage. We continue to retry messages for up to 72 hours.
550 `Requested action not taken: mailbox unavailable` The user’s mailbox was unavailable. Usually because it could not be found, or because of incoming policy reasons. Remove these address from your list - it is likely a fake, or it was mistyped.
551 `User does not exist.` The intended mailbox does not exist on this recipient server. Remove these addresses from your list.
552 `This message is larger than the current system limit or the recipient’s mailbox is full. Create a shorter message body or remove attachments and try sending it again.` The recepients mailbox has exceeded its storage limits. We don’t resend messages with this error code because this is usually a sign this is an abandoned email.
553 `Invalid/inactive user.` The message was refused because the mailbox name is either malformed or does not exist. Remove these addresses from your list.
554 `ERROR: Mail refused` This is a default response that can be caused by a lot of issues. There is often a human readable portion of this error that gives more detailed information, but if not, remove these addresses from your list.
Other `Delayed Bounce - Unable to Parse Server Reason` This is what SendGrid displays when the reciepients server returns a blank reason code.

Turning off click tracking

To turn off click tracking, add this to your X-SMTPAPI header:

1
2
3
4
5
6
7
8
9
10
{
  "filters": {
    "clicktrack": {
      "settings":
        {
          "enable": 0
        }
    }
  }
}

Invalid SMTP API header

When you try to send an invalid X-SMTPAPI header, you will get an email with details about the invalidations. You may also see errors on your Email Activity page or in your Event Webhook data. If this happens, the email should give you the information you need to begin troubleshooting. We also recommend uploading your JSON into a JSON validator, because this is often an invalid JSON issue. If you need more help troubleshooting, you can log in to file a support ticket on our support page.

Certificate verification failed for smtp.sendgrid.net

"certificate verification failed for [smtp.sendgrid.net](http://smtp.sendgrid.net/)[198.37.144.225]:587: untrusted issuer /C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority"

If you receive this error, the connection is still encrypted; it’s just that your server doesn’t have the necessary CA (certificate authority) certificates to confirm that our certificate is valid.

To update your certificates:

  1. ownload the GoDaddy CA bundle from https://certs.godaddy.com/anonymous/repository.pki (grab the one called "gd\_bundle-g2-g1.crt").
  2. Save that on your server.
  3. Tell Postfix where to find it by adding or editing the following line in /etc/postfix/ main.cf: "smtp\_tls\_CAfile = /etc/postfix/ssl/gd\_bundle-g2-g1.crt"
  4. Restart Postfix to make the change take effect.

If the mail server communicates with more than just us, add this certificate to your existing CA bundle (frequently called ca-bundle.crt).

Additional Resources