メールアドレスバリデーション
メールアドレスの形式(RFC 5322準拠の実用的な近似)を即座にチェックし、ドメインが実際にメールを受信できるか(MXレコード確認)も調べられる無料ツール。フォーム入力チェックやメールリストの整理に。
メールアドレス形式の判定例
| メールアドレス例 | 判定 | 理由 |
|---|---|---|
| [email protected] | 有効 | 基本的な形式(ローカル部@ドメイン部) |
| [email protected] | 有効 | ピリオドやプラス記号を含むタグ付きアドレス |
| [email protected] | 無効 | ローカル部にピリオドが連続している |
| @example.com | 無効 | ローカル部(「@」より前)が空 |
| user@example | 無効 | ドメインにトップレベルドメイン(.com等)がない |
| user example.com | 無効 | 「@」記号が含まれていない |
メールアドレスの形式とドメインを確かめる
入力されたメールアドレスが形式として妥当かを即座に判定し、あわせてそのドメインが実際にメールを受け取れるか(MXレコードがあるか)も調べられます。フォームの入力チェックの検討や、古くなったメールリストの整理に使えます。
**まず押さえておきたいのは、「形式が正しい」ことと「そのアドレスが実在して届く」ことはまったく別だという点です。** 形式が妥当でも、そのアカウントが削除されていれば届きません。逆に、**RFC 5322 の規定は驚くほど寛容で、`"quoted string"@example.com` のような見慣れない形も文法上は合法です。** そのため**正規表現で完全に検証しようとすると、必ずどこかで正しいアドレスを弾いてしまいます。** 実務で確実なのは、**形式は緩く確かめるにとどめ、確認メールを送って本人に開いてもらう**ことです。MXレコードの確認は「ドメインがメールを受け取る用意があるか」までは分かりますが、個々のアドレスの存在までは保証しません。
使い方
- メールアドレスを入力する 形式の判定はその場で行われます。
- 形式の判定を読む **RFC 5322 の実用的な近似で判定しています。**
- MXレコードを確認する **そのドメインがメールの受信先を公開しているかが分かります。**
- 最終的な確認はメール送信で行う **存在の確証を得るには、確認メールを送るほかありません。**
使いこなすためのヒント
- 「[email protected]」のように「@」の前後を正しく入力しても、実際にそのメールアドレスにメールが届くとは限りません。届くかどうかは下のMXレコード確認である程度分かります。
- メールマガジンの配信リストを整理する際は、まず形式チェックで明らかな入力ミスを除外し、次にMXレコード確認でドメイン自体が有効かどうかを確認すると効率的です。
- Gmail や Yahoo!メールなどメジャーなドメインは常にMXレコードを持ちますが、企業の自社ドメインでは新設直後や設定ミスでMXレコードが存在しないことがあります。
- コピー&ペーストしたメールアドレスの末尾に余分な空白が混入していると形式チェックで無効判定になることがあります。入力欄の前後の空白に注意してください。
- フォームのメールアドレス欄にリアルタイムバリデーションを組み込みたい場合は、下の余談で紹介している実用的な正規表現がそのまま参考になります。
活用シーン
入力フォームの検証を設計する
どこまで厳しく弾くべきかを、実例で試しながら決められます。
メールリストを整理する
**ドメインが消滅しているアドレスは、MXレコードの有無で見分けられます。**
打ち間違いを見つける
`gmail.con` のようなドメインの誤りは、MXの確認で気づけます。
配信エラーの原因を調べる
届かないアドレスについて、形式かドメインかを最初に切り分けられます。
メールアドレスの用語
- ローカル部
- `@` より前の部分です。**RFC 5322 では引用符で囲むことで、通常は使えない文字も書けます。**
- ドメイン部
- `@` より後ろの部分です。ここに書かれたドメインのMXレコードが、配送先を決めます。
- MXレコード
- **そのドメイン宛のメールをどのサーバーが受け取るかを示すDNSレコードです。** 無ければメールは届きません。
- RFC 5322
- メールの書式を定めた規格です。**その規定は一般の想像よりずっと寛容です。**
- 国際化アドレス
- 日本語などを含むメールアドレスです。対応していない環境もあるため、実務では注意が要ります。
- 確認メール
- 入力されたアドレスへ送り、開いてもらうことで実在を確かめる手順です。**最も確実な検証方法です。**
よくある質問
余談ですが ― メールアドレス検証はなぜ「2段階」なのか
メールアドレスの検証は「形式」と「実在性」という異なる2つのレイヤーに分けて考えると理解しやすくなります。形式チェックは文字列がメールアドレスとして正しい構造(ローカル部・@・ドメイン部)を持っているかを見るだけの静的な判定で、ネットワーク通信を一切行いません。一方、実在性の確認にはドメインへのDNS問い合わせが必要になり、これはブラウザのJavaScriptから直接実行できないためサーバー側の処理が必須です。本ツールがこの2つを別々のステップに分けているのは、この技術的な違いをそのまま反映しているためです。
RFC 5322はメールアドレスの正式な文法を定義していますが、その内容は驚くほど複雑です。例えばローカル部をダブルクォートで囲めば、スペースやピリオドの連続すら許可されるなど、実際のメールサーバーではまず使われない特殊なケースまで仕様上は合法とされています。このため多くの実務者は完全準拠のパーサーではなく、WHATWG(HTML Living Standard)が定義する簡略版の正規表現を採用しており、本ツールもこの実用主義に倣っています。
MXレコードはDNSに登録される「このドメイン宛のメールをどのサーバーが受け取るか」を示すレコードで、優先度(プリファレンス値)が低いほど優先して使われます。企業がメールサーバーを移行する際、複数のMXレコードを一時的に併存させて段階的に切り替える運用がよく行われます。MXレコードが1件も見つからない場合、そのドメイン宛のメールは受信側で拒否される可能性が高いと判断できます。