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