エラーとトラブルシューティング

レスポンスコード

SMTPでメールを送信すると宛先サーバはレスポンスを返します。200 は通常、成功を意味するレスポンスであり、400は遅延を意味します。SendGridは400が発生した場合最長72時間再送を試みます。500は恒久的エラーを意味し、再送は試みません。以下の表に発生する可能性のあるレスポンスコードとエラーの例、そしてレスポンスの一般的な説明を示します。この表にすべてのエラーが網羅されているわけではありません。不明なエラーを受け取った場合、Deliverability centerを参照してください。

エラーコード メッセージ 説明
250 `Queued mail for delivery` あなたのメールは正常にキューに登録されました!このレスポンスは宛先サーバがメッセージを受信したことを意味します。
421 `Message from (X.X.X.X) temporarily deferred` メッセージは宛先サーバのポリシーにより一時的に遅延されました。このメッセージは短時間に多数のメッセージを受信したり、多数のコネクションがはられたりした場合などに発生します。SendGridは最長72時間再送を試みます。このエラーが発生しているドメインに対してこれ以上送信しても遅延が発生するので、メッセージの送信通数を減らすことを検討してください。
450 `too frequent connects from 198.37.147.135, please try again later.` 宛先メールボックスが利用できないためメッセージの送信に失敗しました。宛先がロックされていたり、ルーティングできない状態だった可能性があります。SendGridは最長72時間再送を試みます。このエラーが発生しているドメインに対してこれ以上送信しても遅延が発生するので、メッセージの送信通数を減らすことを検討してください。
451 `Temporary local problem - please try later` メッセージの送信が単純に失敗しました。多くの場合、宛先サーバ側でエラーが発生したことが原因です。SendGridは最長72時間再送を試みます。
452 `Too many recipients received this hour (throttled)` このメッセージは宛先サーバのシステムに十分なストレージがない場合に発生します。SendGridは最長72時間再送を試みます。
550 `Requested action not taken: mailbox unavailable` 宛先メールボックスが利用できない状況です。多くの場合、宛先側での受信ポリシーが原因で、メールボックスが見つからないケースが該当します。宛先リストからこれらのアドレスを削除してください。宛先アドレスが誤っている可能性があります。
551 `User does not exist.` 意図したメールボックスが宛先サーバに存在しません。宛先リストからこれらのアドレスを削除してください。
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.` 宛先サーバ側でストレージのサイズ制限を超えました。このメッセージは再送されません。多くの場合、こういった宛先アドレスは放棄されたものです。
553 `Invalid/inactive user.` メールボックス名が不適切もしくは存在しないためメッセージが受信拒否されました。宛先リストからこれらのアドレスを削除してください。
554 `ERROR: Mail refused` さまざまな原因によりエラーが発生した場合のレスポンスです。人が理解できる詳細なエラーメッセージが添えられていることもありますが、そういったものが添えられていない場合、宛先リストからこれらのアドレスを削除してください。
Other `Delayed Bounce - Unable to Parse Server Reason` 宛先サーバが空の理由コードを返した場合に表示されるエラーです。

クリックトラッキングの無効化

クリックトラッキングを無効化するには、以下のようなX-SMTPAPIヘッダを指定します:

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

不正なSMTP APIヘッダ

不正なX-SMTPAPIヘッダを指定して送信を試みると、エラーの詳細を通知するメールが届きます。また、Email ActivityページもしくはEvent Webhookのデータでエラーが発生したことを確認できます。このメールはトラブルシューティングに必要な情報を通知するものです。こういった場合、不正なJSON形式であるケースが多いため、JSON形式として正常かどうかをチェックすることをお勧めします。

smtp.sendgrid.netで証明書の確認に失敗する

1
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

このようなエラーが発生した場合、コネクションは暗号化されています。お客様のサーバがSendGridの証明書を検証するために必要なCA証明書を持っていないことを意味します。

証明書を更新する方法:

  1. https://certs.godaddy.com/anonymous/repository.pkiからGoDaddyのCAバンドルをダウンロードしてください("gd\_bundle-g2-g1.crt"という名前のファイルを取得してください)。
  2. サーバ上にそのファイルを保存してください。
  3. /etc/postfix/main.cfに以下のような行を記載してPostfixにCA証明書の保存場所を設定してください。 "smtp\_tls\_CAfile = /etc/postfix/ssl/gd\_bundle-g2-g1.crt"
  4. Postfixを再起動して設定変更を反映してください。

SendGrid以外のメールサーバと通信を行う場合、この証明書を既存のCAバンドル(通常はca-bundle.crt)に追記してください。

追加のリソース