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

レスポンスコード

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

エラーコード メッセージ 説明
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` 宛先メールボックスが利用できない状況です。宛先側での受信ポリシーによるもの、またはメールボックスが見つからないケースが該当します。宛先リストからこのアドレスを削除してください。宛先アドレスが誤っている可能性があります。
550 `You are temporarily blocked from sending emails due to repeated bad requests.` 不正なリクエストが続いているため、メールの送信が一時的にブロックされています。
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ヘッダを指定して送信を試みると、エラーの詳細を通知するメールが届きます。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)に追記してください。

追加のリソース