メール検証
このリファレンス記事では、メールアドレスのローカルおよびホスト部分の検証ルールについて説明します。検証は、ダッシュボードのメールアドレス、エンドユーザーのメールアドレス (お客様の顧客)、およびメールメッセージの送信元および返信先アドレスに対して行われます。
仕組み
メール認証は、ユーザーのメールアドレスが更新されたとき、またはAPI、CSVアップロード、SDKを使用してBrazeにインポートされたとき、またはダッシュボードで変更されたときに実行される。メールアドレスには空白を含めることはできません。API を使用している場合、空白は 400 エラーを引き起こします。
Brazeは特定の文字を受け付けず、それらを無効として認識します。メールがバウンスされた場合、Brazeはそのメールを無効としてマークし、サブスクリプションのステータスは変更されない。メール本文に非標準のASCII文字が含まれている場合、メールは送信されないので注意すること。
Accepted characters
- 文字 (A ~ Z)
- 数字 (0 ~ 9)
- 記号
- -
- +
- $
- ’
- &
- #
- /
- %
- *
- =
- `
- |
- ~
- !
- ?
- . (文字または他の文字の間のみ)
Unaccepted characters
- 空白文字(ASCIIおよびUnicode)
この検証は、検証サービスと混同してはならない。これは、メールアドレスの構文が正しいことを確認するためのチェックです。この検証プロセスを使用する主な理由の1つは、メールアドレスのローカル部分で国際文字(UTF-8など)をサポートすることです。
メールの構文検証は、メールアドレスのローカル部分とホスト部分の両方を調べる。ローカル部分はアスペランド (@) の前のすべての部分、ホスト部分はアスペランドの後のすべての部分です。例えば、メールアドレスのこのローカル部分は、ピリオド (.) を除く任意の許可された文字で始まり、終わることができます。このプロセスはメールアドレスの構文のみを検証しており、ドメインに有効なMXサーバーがあるかどうか、またはリストされたドメインにユーザーが存在するかどうかは考慮していないことに注意してください。
ドメイン部分に非標準のASCII文字が含まれている場合は、PunycodeエンコードしてからBrazeに供給する必要がある。
Brazeがユーザーを追加するリクエストを受け取り、メールアドレスが無効と見なされた場合、APIでエラー応答が表示されます。CSVファイルでアップロードすると、ユーザーは作成されるが、メールは追加されない。
ローカル部分の検証ルール
一般的なメールの検証
ほとんどのドメインでは、ローカル部分は次のパラメーターに従う必要があります:
- 任意の文字、数字(ユニコード文字と数字を含む)、および以下の文字を含むことができる: (+)(&) (#)(_) (-) (^) または (/)
- 次の文字を含むことができますが、次の文字で始まったり終わったりすることはありません: (.)
- 二重引用符(”)を含めることはできません
- 1文字以上64文字以内である必要があります
次の正規表現を使用して、メールアドレスが有効と見なされるかどうかを検証できます:
1
/\A([a-zA-Z0-9_\-\^+$'\&#\/!%\*=\?`\|~]|[[^\p{ASCII}\p{Space}]&&\p{Alnum}\p{Punct}\p{S}])(([a-zA-Z0-9_\-\^+$'\&#\/!%\*=\?`\|~\.]|[[^\p{ASCII}\p{Space}]&&\p{Alnum}\p{Punct}\p{S}])*([a-zA-Z0-9_\-\^+$'\&#\/!%\*=\?`\|~]|[[^\p{ASCII}\p{Space}]&&\p{Alnum}\p{Punct}\p{S}]))?\z/
Gmail のアドレス
ドメイン部分がGmailアドレスの場合、ローカライゼーション部分は少なくとも2文字以上で、上記の正規表現の検証に従う必要がある。
Microsoft のドメイン
ホストドメインに「msn」、「hotmail」、「outlook」、または「live」が含まれている場合、ローカル部分を検証するために次の正規表現が使用されます: /\A\w[\-\w]*(?:\.[\-\w]+)*\z/i
Microsoft アドレスのローカル部分は次のパラメーターに従う必要があります:
- 文字(a-z)、アンダースコア((_), )、数字(0-9)で始めることができる。
- 英数字(a-zまたは0-9)またはアンダースコアを含む。 (_)
- 以下の文字を含むことができる: (.) または (-)
- ピリオド(.)で始めることはできません
- 2つ以上の連続するピリオド(.)を含めることはできません
- ピリオド (.) で終わることはできません
ローカル部分が「+」に先行する正規表現に一致するかどうかを検証テストがチェックすることに注意してください。
ホスト部分の検証ルール
IPv4 または IPv6 アドレスは、メールアドレスのホスト部分では許可されていません。最上位ドメイン (.com、.org、.net など) は完全に数字である必要はありません。
次の正規表現はドメインを検証するために使用されます:
/^[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)+$/i
ドメイン名は次のパラメーターに従う必要があります:
- ピリオドで区切られた 2 つ以上のラベルで構成されます。
- ドメイン名の各部分は「ラベル」と呼ばれます。例えば、ドメイン名「example.com」は「example」ラベルと「com」ラベルで構成されています。
- 少なくとも1つのピリオド(.)を含める必要があります。
- 2つ以上の連続するピリオドを含むことはできません
- ピリオド区切りの各ラベルは次の条件を満たしている必要があります:
- 英数字(a-zまたは0-9)とハイフン(-)のみを含む。
- 英数字(a-zまたは0-9)で始めます
- 英数字(a-zまたは0-9)で終了
- 1 ~ 63 文字を含む
追加の検証が必要です
ドメインの最終ラベルは、有効なトップレベルドメイン(TLD)でなければならず、最終ピリオド(.)以降で決定される。このTLDはICANNのTLDリストにあるべきです。Brazeのメールバリデーターは、このセクションに記載されている正規表現に従って、メールの構文が正しいかどうかのみをチェックします。タイプミスや存在しないアドレスをキャッチすることはできない。
Unicodeはメールアドレスのローカル部分にのみ使用できます。ドメイン部分にはUnicodeは使用できませんが、Punycodeでエンコードされている場合があります。
GitHub でこのページを編集