Skip to content

Instantly share code, notes, and snippets.

@locaop

locaop/ses.mjs Secret

Created February 27, 2023 02:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save locaop/846404367fdc468b27f74fc4aafd5b90 to your computer and use it in GitHub Desktop.
Save locaop/846404367fdc468b27f74fc4aafd5b90 to your computer and use it in GitHub Desktop.
checkSmtpStatusCodeDescription
export const checkSmtpStatusCodeDescription = (status) => {
const [x, y, z] = status.split(".").map(Number);
// x
if (x === 2) {
// Success
} else if (x === 4) {
// Persistent Transient Failure
} else if (x === 5) {
// Permanent Failure
}
// y、z
if (y === 0) {
// Other or Undefined Status
if (z === 0) {
/**
* X.0.0
* Other undefined Status
* 唯一の未定義エラー コードです。
*/
return "未定義エラーです。";
}
} else if (y === 1) {
// Addressing Status
if (z === 0) {
/**
* X.1.0
* Other address status
* メッセージで指定されたアドレスに関する何かが原因で、この DSN が発生しました。
*/
return "メッセージで指定されたアドレスに関する何かが原因です。";
} else if (z === 1) {
/**
* X.1.1
* Bad destination mailbox address
* アドレスで指定されたメールボックスは存在しません。
* これは、インターネット メール名の場合、"@" 記号の左側のアドレス部分が無効であることを意味します。
* このコードは、永続的な障害の場合にのみ役立ちます。
*/
return "アドレスで指定されたメールボックスは存在しません。";
} else if (z === 2) {
/**
* X.1.2
* Bad destination system address
* アドレスで指定された宛先システムが存在しないか、メールを受け入れることができません。
* これは、インターネット メール名の場合、"@" の右側のアドレス部分がメールとして無効であることを意味します。
* このコードは、永続的な障害の場合にのみ役立ちます。
*/
return "アドレスで指定された宛先システムが存在しないか、メールを受け入れることができません。";
} else if (z === 3) {
/**
* X.1.3
* Bad destination mailbox address syntax
* 宛先アドレスが構文的に無効でした。
* これは、住所のどのフィールドにも適用できます。
* このコードは、永続的な障害の場合にのみ役立ちます。
*/
return "宛先アドレスが構文的に無効でした。";
} else if (z === 4) {
/**
* X.1.4
* Destination mailbox address ambiguous
* 指定されたメールボックス アドレスは、宛先システムの 1 つ以上の受信者と一致します。
* これは、ヒューリスティック アドレス マッピング アルゴリズムを使用して、
* 指定されたアドレスをローカル メールボックス名にマップした場合に発生する可能性があります。
*/
return "指定されたメールボックス アドレスは、宛先システムの 1 つ以上の受信者と一致します。";
} else if (z === 5) {
/**
* X.1.5
* Destination address valid
* 指定されたこのメールボックス アドレスは有効でした。
* このステータス コードは、肯定的な配信レポートに使用する必要があります。
*/
return "指定されたこのメールボックス アドレスは有効でした。";
} else if (z === 6) {
/**
* X.1.6
* Destination mailbox has moved, No forwarding address
* 指定されたメールボックス アドレスはかつて有効でしたが、そのアドレスへのメールは受け付けられなくなりました。
* このコードは、永続的な障害の場合にのみ役立ちます。
*/
return "指定されたメールボックス アドレスはかつて有効でしたが、そのアドレスへのメールは受け付けられなくなりました。";
} else if (z === 7) {
/**
* X.1.7
* Bad sender's mailbox address syntax
* 送信者のアドレスが構文的に無効でした。
* これは、住所のどのフィールドにも適用できます。
*/
return "送信者のアドレスが構文的に無効でした。";
} else if (z === 8) {
/**
* X.1.8
* Bad sender's system address
* アドレスで指定された送信者のシステムが存在しないか、返信メールを受け入れることができません。
* ドメイン名の場合、これは「@」の右側のアドレス部分がメールに対して無効であることを意味します。
*/
return "アドレスで指定された送信者のシステムが存在しないか、返信メールを受け入れることができません。";
} else if (z === 9) {
/**
* X.1.9
* Message relayed to non-compliant mailer
* 指定されたメールボックス アドレスは有効でしたが、このプロトコルを使用しないシステムにメッセージが中継されました。
* これ以上の情報は提供できません。
*/
return "指定されたメールボックス アドレスは有効でしたが、このプロトコルを使用しないシステムにメッセージが中継されました。";
} else if (z === 10) {
/**
* X.1.10
* Recipient address has null MX
* このステータス コードは、null MX を使用して関連付けられたアドレスが無効としてマークされた場合に返されます。
*/
return "null MX を使用して関連付けられたアドレスが無効としてマークされました。";
}
} else if (y === 2) {
// Mailbox Status
if (z === 0) {
/**
* X.2.0
* Other or undefined mailbox status
* メールボックスは存在しますが、送信先のメールボックスに関する何かが原因で、この DSN が送信されました。
*/
return "メールボックスは存在しますが、送信先のメールボックスに関する何かが原因です。";
} else if (z === 1) {
/**
* X.2.1
* Mailbox disabled, not accepting messages
* メールボックスは存在しますが、メッセージを受け付けていません。
* メールボックスが再度有効にされない場合、これは永続的なエラーである可能性があり、
* メールボックスが一時的に無効になっている場合は一時的なエラーである可能性があります。
*/
return "メールボックスは存在しますが、メッセージを受け付けていません。";
} else if (z === 2) {
/**
* X.2.2
* Mailbox full
* ユーザーがメールボックスごとの管理クォータまたは物理容量を超えたため、メールボックスがいっぱいです。
* 一般的なセマンティクスは、受信者がメッセージを削除して使用可能なスペースを増やすことができることを意味します。
* このコードは、永続的な一時的な障害として使用する必要があります。
*/
return "ユーザーがメールボックスごとの管理クォータまたは物理容量を超えたため、メールボックスがいっぱいです。";
} else if (z === 3) {
/**
* X.2.3
* Message length exceeds administrative limit
* メールボックスごとの管理メッセージの長さ制限を超えました。
* このステータス コードは、メールボックスごとのメッセージの長さ制限が一般的なシステム制限よりも短い場合に使用する必要があります。
* このコードは、永続的な障害として使用する必要があります。
*/
return "メールボックスごとの管理メッセージの長さ制限を超えました。";
} else if (z === 4) {
/**
* X.2.4
* Mailing list expansion problem
* メールボックスはメーリング リストのアドレスであり、メーリング リストを展開できませんでした。
* このコードは、永続的な障害または永続的な一時的な障害を表している可能性があります。
*/
return "メールボックスはメーリング リストのアドレスであり、メーリング リストを展開できませんでした。";
}
} else if (y === 3) {
// Mail System Status
if (z === 0) {
/**
* X.3.0
* Other or undefined mail system status
* 宛先システムは存在し、通常はメールを受け入れますが、システムに関する何かが原因でこの DSN が生成されました。
*/
return "宛先システムは存在し、通常はメールを受け入れますが、システムに関する何かが原因です。";
} else if (z === 1) {
/**
* X.3.1
* Mail system full
* メール システムのストレージを超えました。
* 一般的なセマンティクスは、個々の受信者が資料を削除して追加のメッセージ用のスペースを空けることができない可能性があることを意味します。
* これは、永続的な一時的なエラーとしてのみ役立ちます。
*/
return "メール システムのストレージを超えました。";
} else if (z === 2) {
/**
* X.3.2
* System not accepting network messages
* メールボックスが存在するホストがメッセージを受け入れていません。
* このような状況の例としては、差し迫ったシャットダウン、過度の負荷、システム メンテナンスなどがあります。
* これは、永続的および永続的な一時的なエラーの両方に役立ちます。
*/
return "メールボックスが存在するホストがメッセージを受け入れていません。";
} else if (z === 3) {
/**
* X.3.3
* System not capable of selected features
* メッセージに指定された選択された機能は、宛先システムではサポートされていません。
* これは、あるドメインの機能を別のドメインでサポートされている機能にマッピングできない場合に、ゲートウェイで発生する可能性があります。
*/
return "メッセージに指定された選択された機能は、宛先システムではサポートされていません。";
} else if (z === 4) {
/**
* X.3.4
* Message too big for system
* メッセージがメッセージごとのサイズ制限を超えています。
* この制限は、物理的または管理上の理由による場合があります。
* これは、永続的なエラーとしてのみ役立ちます。
*/
return "メッセージがメッセージごとのサイズ制限を超えています。";
} else if (z === 5) {
/**
* X.3.5
* System incorrectly configured
* システムは、このメッセージを受け入れるように構成されていません。
*/
return "システムは、このメッセージを受け入れるように構成されていません。";
} else if (z === 6) {
/**
* X.3.6
* Requested priority was changed
* メッセージは中継/配信のために受け入れられましたが、要求された優先度 (おそらく暗黙のデフォルト) が守られませんでした。
* ステータス コードの後の人間が判読できるテキストには、新しい優先度が含まれ、その後に SP (スペース) と説明の人間が判読できるテキストが続きます。
*/
return "メッセージは中継/配信のために受け入れられましたが、要求された優先度 (おそらく暗黙のデフォルト) が守られませんでした。";
}
} else if (y === 4) {
// Network and Routing Status
if (z === 0) {
/**
* X.4.0
* Other or undefined network or routing status
* ネットワークで問題が発生しましたが、問題の内容が明確でないか、提供された他の詳細コードでは問題をうまく表現できません。
*/
return "ネットワークで問題が発生しましたが、問題の内容が明確でないか、提供された他の詳細コードでは問題をうまく表現できません。";
} else if (z === 1) {
/**
* X.4.1
* No answer from host
* リモート システムがビジー状態であるか、コールに応答できなかったため、アウトバウンド接続の試行に応答しませんでした。
* これは、永続的な一時的なエラーとしてのみ役立ちます。
*/
return "リモート システムがビジー状態であるか、コールに応答できなかったため、アウトバウンド接続の試行に応答しませんでした。";
} else if (z === 2) {
/**
* X.4.2
* Bad connection
* アウトバウンド接続は確立されましたが、タイムアウトまたは不十分な接続品質のため、メッセージ トランザクションを完了できませんでした。
* これは、永続的な一時的なエラーとしてのみ役立ちます。
*/
return "アウトバウンド接続は確立されましたが、タイムアウトまたは不十分な接続品質のため、メッセージ トランザクションを完了できませんでした。";
} else if (z === 3) {
/**
* X.4.3
* Directory server failure
* ディレクトリ サーバーが使用できないため、ネットワーク システムはメッセージを転送できませんでした。
* これは、永続的な一時的なエラーとしてのみ役立ちます。
* インターネット DNS サーバーに接続できないことは、ディレクトリ サーバー障害エラーの一例です。
*/
return "ディレクトリ サーバーが使用できないため、ネットワーク システムはメッセージを転送できませんでした。";
} else if (z === 4) {
/**
* X.4.4
* Unable to route
* ディレクトリ サーバーから必要なルーティング情報を取得できなかったため、メール システムはメッセージの次のホップを特定できませんでした。
* これは、永続的および永続的な一時的なエラーの両方に役立ちます。
* ドメイン名の SOA (Start of Administration) レコードのみを返す DNS ルックアップは、ルーティング不能エラーの一例です。
*/
return "ディレクトリ サーバーから必要なルーティング情報を取得できなかったため、メール システムはメッセージの次のホップを特定できませんでした。";
} else if (z === 5) {
/**
* X.4.5
* Mail system congestion
* メール システムが混雑しているため、メール システムはメッセージを配信できませんでした。
* これは、永続的な一時的なエラーとしてのみ役立ちます。
*/
return "メール システムが混雑しているため、メール システムはメッセージを配信できませんでした。";
} else if (z === 6) {
/**
* X.4.6
* Routing loop detected
* ルーティング ループが原因で、不適切なルーティング テーブルまたはユーザー転送ループが原因で、メッセージが何度も転送されました。
* これは、永続的な一時的なエラーとしてのみ役立ちます。
*/
return "ルーティング ループが原因で、不適切なルーティング テーブルまたはユーザー転送ループが原因で、メッセージが何度も転送されました。";
} else if (z === 7) {
/**
* X.4.7
* Delivery time expired
* メッセージがそのホストに長く留まりすぎたか、メッセージの送信者によって指定された存続時間の値を超えたため、
* メッセージが拒否されたシステムによって古すぎると見なされました。
* 可能であれば、このコードではなく、配信を試みたときに見つかった実際の問題のコードを返す必要があります。
*/
return "メッセージがそのホストに長く留まりすぎたか、メッセージの送信者によって指定された存続時間の値を超えたため、メッセージが拒否されたシステムによって古すぎると見なされました。";
}
} else if (y === 5) {
// Mail Delivery Protocol Status
if (z === 0) {
/**
* X.5.0
* Other or undefined protocol status
* メッセージをネクスト ホップに配信するために必要なプロトコルに問題があり、提供された他の詳細コードでは問題をうまく表現できません。
*/
return "メッセージをネクスト ホップに配信するために必要なプロトコルに問題があり、提供された他の詳細コードでは問題をうまく表現できません。";
} else if (z === 1) {
/**
* X.5.1
* Invalid command
* メール トランザクション プロトコル コマンドが発行されましたが、順序が正しくないかサポートされていません。
* これは、永続的なエラーとしてのみ役立ちます。
*/
return "メール トランザクション プロトコル コマンドが発行されましたが、順序が正しくないかサポートされていません。";
} else if (z === 2) {
/**
* X.5.2
* Syntax error
* 構文が間違っているか、コマンドが認識されないため、解釈できないメール トランザクション プロトコル コマンドが発行されました。
* これは、永続的なエラーとしてのみ役立ちます。
*/
return "構文が間違っているか、コマンドが認識されないため、解釈できないメール トランザクション プロトコル コマンドが発行されました。";
} else if (z === 3) {
/**
* X.5.3
* Too many recipients
* プロトコルによって配信されたよりも多くの受信者がメッセージに指定されました。
* 通常、このエラーにより、メッセージが 2 つに分割され、残りの受信者は次の配信試行で配信されます。
* そのようなセグメンテーションが不可能な場合に備えて、このリストに含まれています。
*/
return "プロトコルによって配信されたよりも多くの受信者がメッセージに指定されました。";
} else if (z === 4) {
/**
* X.5.4
* Invalid command arguments
* 有効なメール トランザクション プロトコル コマンドが無効な引数で発行されました。
* 引数が範囲外であるか、認識されない機能を表しているためです。
* これは、永続的なエラーとしてのみ役立ちます。
*/
return "有効なメール トランザクション プロトコル コマンドが無効な引数で発行されました。";
} else if (z === 5) {
/**
* X.5.5
* Wrong protocol version
* プロトコル バージョンの不一致が存在し、通信側で自動的に解決できませんでした。
*/
return "プロトコル バージョンの不一致が存在し、通信側で自動的に解決できませんでした。";
} else if (z === 6) {
/**
* X.5.6
* Authentication Exchange line is too long
* この拡張ステータス コードは、クライアントが現在選択されている SASL メカニズムで利用可能な最大バッファ サイズよりも
* 長い [BASE64] 応答を送信したために、サーバーが AUTH コマンドに失敗した場合に返される必要があります。
* これは、永続的および永続的な一時的なエラーの両方に役立ちます。
*/
return "クライアントが現在選択されている SASL メカニズムで利用可能な最大バッファ サイズよりも長い [BASE64] 応答を送信したために、サーバーが AUTH コマンドに失敗しました。";
}
} else if (y === 6) {
// Message Content or Media Status
if (z === 0) {
/**
* X.6.0
* Other or undefined media error
* メッセージの内容に関する何らかの原因により、配信不能と見なされ、他の提供された詳細コードでは問題をうまく表現できません。
*/
return "メッセージの内容に関する何らかの原因により、配信不能と見なされ、他の提供された詳細コードでは問題をうまく表現できません。";
} else if (z === 1) {
/**
* X.6.1
* Media not supported
* メッセージのメディアは、配信プロトコルまたは転送パスの次のシステムでサポートされていません。
* これは、永続的なエラーとしてのみ役立ちます。
*/
return "メッセージのメディアは、配信プロトコルまたは転送パスの次のシステムでサポートされていません。";
} else if (z === 2) {
/**
* X.6.2
* Conversion required and prohibited
* メッセージの内容は、配信する前に変換する必要があり、そのような変換は許可されていません。
* このような禁止事項は、メッセージ自体の送信者の表現または送信側ホストのポリシーである可能性があります。
*/
return "メッセージの内容は、配信する前に変換する必要があり、そのような変換は許可されていません。";
} else if (z === 3) {
/**
* X.6.3
* Conversion required but not supported
* メッセージの内容は、転送するために変換する必要がありますが、そのような変換は不可能であるか、転送パス内のホストでは実用的ではありません。
* この状態は、ESMTP ゲートウェイが 8 ビット トランスポートをサポートしているが、
* ネクスト ホップに必要なメッセージを 7 ビットにダウングレードできない場合に発生する可能性があります。
*/
return "メッセージの内容は、転送するために変換する必要がありますが、そのような変換は不可能であるか、転送パス内のホストでは実用的ではありません。";
} else if (z === 4) {
/**
* X.6.4
* Conversion with loss performed
* これは、メッセージの配信は成功したが、配信に一部のデータが失われた変換が必要な場合に、送信者に送信される警告です。
* 送信者がメッセージの損失を伴う変換が禁止されていることを示している場合、これは永続的なエラーである可能性もあります。
*/
return "これは、メッセージの配信は成功したが、配信に一部のデータが失われた変換が必要な場合に、送信者に送信される警告です。";
} else if (z === 5) {
/**
* X.6.5
* Conversion Failed
* 変換が必要でしたが、失敗しました。
* これは、永続的または永続的な一時的な通知として役立つ場合があります。
*/
return "変換が必要でしたが、失敗しました。";
} else if (z === 6) {
/**
* X.6.6
* Message content not available
* メッセージの内容をリモート システムから取得できませんでした。
* これは、永続的または永続的な一時的な通知として役立つ場合があります。
*/
return "メッセージの内容をリモート システムから取得できませんでした。";
} else if (z === 7) {
/**
* X.6.7
* Non-ASCII addresses not permitted for that sender/recipient
* これは、非 ASCII アドレスが許可されていないという MAIL または RCPT コマンドの受信を示します。
*/
return "これは、非 ASCII アドレスが許可されていないという MAIL または RCPT コマンドの受信を示しています。";
} else if (z === 8) {
/**
* X.6.8
* UTF-8 string reply is required, but not permitted by the SMTP client
* これは、メールボックス名を表示するために UTF-8 文字列を含む応答が必要であるが、その形式の応答が SMTP クライアントによって許可されていないことを示しています。
*/
return "これは、メールボックス名を表示するために UTF-8 文字列を含む応答が必要であるが、その形式の応答が SMTP クライアントによって許可されていないことを示しています。";
} else if (z === 9) {
/**
* X.6.9
* UTF-8 header message cannot be transferred to one or more recipients, so the message must be rejected
* これは、DATA コマンドの最後の「.」の後にトランザクションが失敗したことを示します。
*/
return "これは、DATA コマンドの最後の「.」の後にトランザクションが失敗したことを示します。";
} else if (z === 10) {
/**
* X.6.10
* これは X.6.8 の複製であるため、非推奨です。
*/
return "これは X.6.8 の複製であるため、非推奨です。";
}
} else if (y === 7) {
// Security or Policy Status
if (z === 0) {
/**
* X.7.0
* Other or undefined security status
* セキュリティに関連する何らかの原因でメッセージが返されました。
* この問題は、提供された他の詳細コードではうまく表現できません。
* このステータス コードは、セキュリティ ポリシーが施行されているために条件をこれ以上説明できない場合にも使用できます。
*/
return "セキュリティに関連する何らかの原因でメッセージが返されました。";
} else if (z === 1) {
/**
* X.7.1
* Delivery not authorized, message refused
* 送信者は宛先への送信を許可されていません。
* これは、ホストごとまたは受信者ごとのフィルタリングの結果である可能性があります。
* このメモは、そのようなフィルタリングのメリットについては議論しませんが、そのようなことを報告するメカニズムを提供します。
* これは、永続的なエラーとしてのみ役立ちます。
*/
return "送信者は宛先への送信を許可されていません。";
} else if (z === 2) {
/**
* X.7.2
* Mailing list expansion prohibited
* 送信者は、目的のメーリング リストにメッセージを送信する権限がありません。
* これは、永続的なエラーとしてのみ役立ちます。
*/
return "送信者は、目的のメーリング リストにメッセージを送信する権限がありません。";
} else if (z === 3) {
/**
* X.7.3
* Security conversion required but not possible
* 配信には、あるセキュア メッセージング プロトコルから別のセキュア メッセージング プロトコルへの変換が必要でしたが、そのような変換は不可能でした。
* これは、永続的なエラーとしてのみ役立ちます。
*/
return "配信には、あるセキュア メッセージング プロトコルから別のセキュア メッセージング プロトコルへの変換が必要でしたが、そのような変換は不可能でした。";
} else if (z === 4) {
/**
* X.7.4
* Security features not supported
* メッセージに、配信プロトコルでサポートできない安全な認証などのセキュリティ機能が含まれていました。
* これは、永続的なエラーとしてのみ役立ちます。
*/
return "メッセージに、配信プロトコルでサポートできない安全な認証などのセキュリティ機能が含まれていました。";
} else if (z === 5) {
/**
* X.7.5
* Cryptographic failure
* キーなどの必要な情報が利用できないか、そのような情報が無効であったため、転送中のメッセージを検証または復号化することを許可されている転送システムが実行できませんでした。
*/
return "キーなどの必要な情報が利用できないか、そのような情報が無効であったため、転送中のメッセージを検証または復号化することを許可されている転送システムが実行できませんでした。";
} else if (z === 6) {
/**
* X.7.6
* Cryptographic algorithm not supported
* 必要なアルゴリズムがサポートされていないため、メッセージの検証または暗号化解除を許可されているトランスポート システムが実行できませんでした。
*/
return "必要なアルゴリズムがサポートされていないため、メッセージの検証または暗号化解除を許可されているトランスポート システムが実行できませんでした。";
} else if (z === 7) {
/**
* X.7.7
* Message integrity failure
* メッセージが壊れているか変更されているため、メッセージを検証する権限があるトランスポート システムが検証できませんでした。
* これは、永続的、一時的な永続的、または成功した配信コードとして役立つ場合があります。
*/
return "メッセージが壊れているか変更されているため、メッセージを検証する権限があるトランスポート システムが検証できませんでした。";
} else if (z === 8) {
/**
* X.7.8
* Authentication credentials invalid
* AUTH コマンドに対するこの応答は、認証資格情報が無効または不十分なために認証が失敗したことを示します。
* この場合、クライアントは、(パスワード ダイアログ ボックスを表示するなどして) ユーザーに新しい資格情報を提供するように要求する必要があります。
*/
return "AUTH コマンドに対するこの応答は、認証資格情報が無効または不十分なために認証が失敗したことを示します。";
} else if (z === 9) {
/**
* X.7.9
* Authentication mechanism is too weak
* AUTH コマンドに対するこの応答は、選択された認証メカニズムが、そのユーザーに対してサーバー ポリシーで許可されているよりも弱いことを示しています。
* クライアントは、新しい認証メカニズムで再試行する必要があります。
*/
return "AUTH コマンドに対するこの応答は、選択された認証メカニズムが、そのユーザーに対してサーバー ポリシーで許可されているよりも弱いことを示しています。";
} else if (z === 10) {
/**
* X.7.10
* Encryption Needed
* これは、要求された認証メカニズムを使用するために、外部の強力なプライバシー層が必要であることを示しています。
* これは主に、クリア テキスト認証メカニズムで使用することを目的としています。
* これを受信したクライアントは、認証前に TLS などのセキュリティ層をアクティブにするか、より強力なメカニズムを使用しようとする可能性があります。
*/
return "これは、要求された認証メカニズムを使用するために、外部の強力なプライバシー層が必要であることを示しています。";
} else if (z === 11) {
/**
* X.7.11
* Encryption required for requested authentication mechanism
* AUTH コマンドに対するこの応答は、選択された認証メカニズムは、基礎となる SMTP 接続が暗号化されている場合にのみ使用できることを示しています。
* この応答コードは、歴史的な目的でのみここに記載されていることに注意してください。
* 最新の実装では、十分な強度の暗号化層が現在採用されていない限り、暗号化の欠如のために許可されていないメカニズムを宣伝すべきではありません。
*/
return "AUTH コマンドに対するこの応答は、選択された認証メカニズムは、基礎となる SMTP 接続が暗号化されている場合にのみ使用できることを示しています。";
} else if (z === 12) {
/**
* X.7.12
* A password transition is needed
* AUTH コマンドに対するこの応答は、ユーザーが選択した認証メカニズムに移行する必要があることを示しています。
* これは通常、[PLAIN] 認証メカニズムを使用して 1 回認証することによって行われます。
* 選択されたメカニズムは、その後のセッションでの認証に機能する必要があります。
*/
return "AUTH コマンドに対するこの応答は、ユーザーが選択した認証メカニズムに移行する必要があることを示しています。";
} else if (z === 13) {
/**
* X.7.13
* User Account Disabled
* 場合によっては、システム管理者がユーザーのアカウントを無効にしなければならないことがあります (たとえば、支払いの不足、悪用、侵入の証拠など)。
* このエラー コードは、無効なアカウントへの認証が成功した後に発生します。
* これにより、ユーザーがシステム管理者に連絡してアカウントを再度有効にするまで、失敗が永続的であることがクライアントに通知されます。
* これは、ユーザーが単にパスフレーズを間違って入力した場合に、クライアントの最善のオプションがパスフレーズ入力ダイアログを表示することである一般的な認証の失敗とは異なります。
*/
return "このエラー コードは、無効なアカウントへの認証が成功した後に発生します。";
} else if (z === 14) {
/**
* X.7.14
* Trust relationship required
* 送信サーバーは、メッセージ コンテンツにアクセスするために、サードパーティ サーバーとの構成済みの信頼関係を必要とします。
* この値は、このエラー状態に対する X.7.8 の以前の使用を置き換えます。
* それによって[RFC4468]を更新します。
*/
return "送信サーバーは、メッセージ コンテンツにアクセスするために、サードパーティ サーバーとの構成済みの信頼関係を必要とします。";
} else if (z === 15) {
/**
* X.7.15
* Priority Level is too low
* 指定された優先度レベルは、受信 SMTP サーバーで許容される最低の優先度を下回っています。
* この状態は一時的なものである可能性があります。
* たとえば、サーバーは優先度の高いメッセージのみが転送および配信のために受け入れられ、優先度の低いメッセージは拒否されるモードで動作しています。
*/
return "指定された優先度レベルは、受信 SMTP サーバーで許容される最低の優先度を下回っています。";
} else if (z === 16) {
/**
* X.7.16
* Message is too big for the specified priority
* 指定された優先度に対してメッセージが大きすぎます。
* この状態は一時的なものである可能性があります。
* たとえば、サーバーが特定のサイズ以下の優先度の高いメッセージのみが転送および配信されるモードで動作している場合です。
*/
return "指定された優先度に対してメッセージが大きすぎます。";
} else if (z === 17) {
/**
* X.7.17
* Mailbox owner has changed
* このステータス コードは、メッセージが Require-Recipient-Valid-Since フィールドまたは RRVS 拡張と共に受信され、
* 受信側システムが、指定された日時以降、目的の受信者メールボックスが継続的に所有されていないと判断できる場合に返されます。
*/
return "これは、受信側システムが、指定された日時以降、目的の受信者メールボックスが継続的に所有されていないと判断できる場合に返されます。";
} else if (z === 18) {
/**
* X.7.18
* Domain owner has changed
* このステータス コードは、メッセージが Require-Recipient-Valid-Since フィールドまたは RRVS 拡張と共に受信され、
* 受信側システムが指定された日時以降に受信者のドメイン名の所有者が変更されたことを開示したい場合に返されます。
*/
return "これは、受信側システムが指定された日時以降に受信者のドメイン名の所有者が変更されたことを開示したい場合に返されます。";
} else if (z === 19) {
/**
* X.7.19
* RRVS test cannot be completed
* このステータス コードは、メッセージが Require-Recipient-Valid-Since フィールドまたは RRVS 拡張と共に受信され、
* 必要なタイムスタンプが記録されていないために受信システムが要求された評価を完了できない場合に返されます。
* メッセージ発信者は、RRVS 保護なしでメッセージを再発行するかどうかを決定する必要があります。
*/
return "これは、必要なタイムスタンプが記録されていないために受信システムが要求された評価を完了できない場合に返されます。";
} else if (z === 20) {
/**
* X.7.20
* No passing DKIM signature found
* このステータス コードは、メッセージに通過する DKIM 署名が含まれていない場合に返されます。
* (これは、[ RFC6376 ]のセクション 6.1 のアドバイスに違反しています。)
*/
return "これは、メッセージに通過する DKIM 署名が含まれていない場合に返されます。";
} else if (z === 21) {
/**
* X.7.21
* No acceptable DKIM signature found
* このステータス コードは、メッセージに 1 つ以上の通過する DKIM 署名が含まれているが、どれも受け入れられない場合に返されます。
* (これは、[ RFC6376 ]のセクション 6.1 のアドバイスに違反しています。)
*/
return "これは、メッセージに 1 つ以上の通過する DKIM 署名が含まれているが、どれも受け入れられない場合に返されます。";
} else if (z === 22) {
/**
* X.7.22
* No valid author-matched DKIM signature found
* このステータス コードは、メッセージに 1 つ以上の通過する DKIM 署名が含まれている場合に返されますが、
* From ヘッダー フィールドで見つかった作成者アドレスと一致する識別子がないため、どれも受け入れられません。
* これは X.7.21 の特殊なケースです。
* (これは、[ RFC6376 ]のセクション 6.1 のアドバイスに違反しています。)
*/
return "これは、メッセージに 1 つ以上の通過する DKIM 署名が含まれている場合に返されますが、From ヘッダー フィールドで見つかった作成者アドレスと一致する識別子がないため、どれも受け入れられません。";
} else if (z === 23) {
/**
* X.7.23
* SPF validation failed
* このステータス コードは、ローカル ポリシーの要件に反して、メッセージが「失敗」の結果を生成した SPF チェックを完了した場合に返されます。
* [ RFC7208 ]のセクション 8.4 で説明されているように、5.7.1 の代わりに使用されます。
*/
return "これは、ローカル ポリシーの要件に反して、メッセージが「失敗」の結果を生成した SPF チェックを完了した場合に返されます。";
} else if (z === 24) {
/**
* X.7.24
* SPF validation error
* このステータス コードは、到着したメッセージに対する SPF の評価がエラーになった場合に返されます。
* [ RFC7208 ]のセクション 8.6 および 8.7 で説明されているように、4.4.3 または 5.5.2 の代わりに使用されます。
*/
return "これは、到着したメッセージに対する SPF の評価がエラーになった場合に返されます。";
} else if (z === 25) {
/**
* X.7.25
* Reverse DNS validation failed
* このステータス コードは、ローカル ポリシーの要件に反して、SMTP クライアントの IP アドレスがリバース DNS 検証チェックに失敗した場合に返されます。
*/
return "これは、ローカル ポリシーの要件に反して、SMTP クライアントの IP アドレスがリバース DNS 検証チェックに失敗した場合に返されます。";
} else if (z === 26) {
/**
* X.7.26
* Multiple authentication checks failed
* このステータス コードは、ローカル ポリシーの要件に反して、メッセージが複数のメッセージ認証チェックに失敗した場合に返されます。
* 失敗した特定のメカニズムは指定されていません。
*/
return "これは、ローカル ポリシーの要件に反して、メッセージが複数のメッセージ認証チェックに失敗した場合に返されます。";
} else if (z === 27) {
/**
* X.7.27
* Sender address has null MX
* このステータス コードは、関連付けられた送信者アドレスの MX が null で、
* SMTP 受信者がそのような送信者からのメールを拒否するように構成されている場合に返されます (たとえば、DSN を返すことができないため)。
*/
return "これは、関連付けられた送信者アドレスの MX が null で、SMTP 受信者がそのような送信者からのメールを拒否するように構成されている場合に返されます。";
} else if (z === 28) {
/**
* X.7.28
* Mail flood detected
* このメッセージは、同様の不正なメッセージのメール フラッドの一部のようです。
*/
return "このメッセージは、同様の不正なメッセージのメール フラッドの一部のようです。";
} else if (z === 29) {
/**
* X.7.29
* ARC validation failure
* このステータス コードは、メッセージが ARC 検証に失敗した場合に返されることがあります。
*/
return "これは、メッセージが ARC 検証に失敗した場合に返されることがあります。";
} else if (z === 30) {
/**
* X.7.30
* REQUIRETLS support required
* これは、メッセージが REQUIRETLS 要件で受信され、メッセージの転送先の SMTP サーバーがこのサポートを提供していないため、メッセージを転送できなかったことを示します。
*/
return "これは、メッセージが REQUIRETLS 要件で受信され、メッセージの転送先の SMTP サーバーがこのサポートを提供していないため、メッセージを転送できなかったことを示します。";
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment