不正なメールアドレスの多くは、偽物ではなく入力ミスです。急いでいる人がスマートフォンのキーボードでgmial.com、yaho.com、.conなどと入力しても、アドレスの形になっているため、フォームは受け付けてしまいます。その結果、そのお客様には、依頼した領収書もパスワードのリセットもニュースレターも届きません。幸い、よくあるメールアドレスの入力ミスはランダムではなく、いくつかの決まったパターンの繰り返しです。このガイドでは、そうしたパターンをプロバイダー別、トップレベルドメイン別、構造別にまとめます。あわせて、正しく入力した人に不快な思いをさせずに、登録時にそれぞれを検出する方法も紹介します。
結論から#
メールアドレスの入力ミスは、3つのグループに分けられます。プロバイダーのドメインのつづり間違い(gmial.com、hotmial.com、outlok.com)、トップレベルドメインの入力ミス(.comの代わりに.con、.cmo、.co)、構造上のミス(@の抜け、スペース、カンマ、貼り付けた引用符)です。対策は、入力する場面で行います。type="email"とautocomplete="email"を使ってブラウザに自動入力させ、意味が1つに決まるミスは黙って修正し、ドメインの入力ミスには「もしかして…」という候補を表示します。候補は提案にとどめ、黙って自動修正してはいけません。@の前の入力ミスにはメールボックスのチェックが必要で、最後の砦はダブルオプトインです。
プロバイダー別によくあるドメインの入力ミス#
ドメインの入力ミスは、機械的な4つのミスから生まれます。2文字の入れ替わり(gmial)、1文字の抜け(gmai)、隣のキーの押し間違い(gnail:nはmの隣にあります)、1文字の重複(gmaill)です。これらを、一般向けアドレスの大半が使う少数のプロバイダーに当てはめると、次の表になります。これは典型的なパターンであり、順位ではありません。実際の内訳は、リストの利用者層や使用デバイスによって変わります。
3列目も、2列目と同じくらい重要です。これらのプロバイダーはいずれも、入力ミスに似た実在のドメインを運営しているため、それを「修正」すると、有効なアドレスを壊してしまいます。
| 本来のドメイン | よくあるつづり間違い | 「修正」してはいけない実在のドメイン |
|---|---|---|
gmail.com | gmial.com, gmai.com, gamil.com,
gnail.com, gmal.com, gmaill.com,
gmil.com | googlemail.com。mail.comは別の実在のプロバイダーです |
yahoo.com | yaho.com, yahooo.com, yhoo.com,
yahho.com, yaoo.com, tahoo.com | ymail.com、yahoo.co.uk、その他の地域別Yahooドメイン |
hotmail.com | hotmial.com, hotmal.com,
hotmai.com, hotamil.com,
hotnail.com, hormail.com | hotmail.co.uk、hotmail.fr、その他の地域別Hotmailドメイン |
outlook.com | outlok.com, outllok.com,
oulook.com, outook.com,
outlool.com, outlookk.com | live.com、msn.com(いずれもMicrosoft) |
icloud.com | iclod.com, icoud.com,
icluod.com, iclould.com,
icliud.com | me.com、mac.com(Appleの旧ドメイン) |
aol.com | aoll.com, aool.com, aol.con,
aol.co | aim.com |
AOLは、注意点を知る良い例です。名前が3文字なので、名前の中で入力ミスが起きる余地は少なく、ミスの多くはTLDで起きるか、文字の重複になります。1文字変わると、たいていは別の会社の実在のドメインになります。ドメインが短いほど、候補を出す仕組みは慎重になる必要があります。
TLDの入力ミス:.con、.cmo、実在するもの#
最後のドット以降のミスは、性質の大きく異なる2つのグループに分かれます。1つは、存在しないトップレベルドメインになる場合です。この場合、アドレスはドメインのチェックに失敗し、メールを受け取ることは決してありません。もう1つは、実在する国コードTLDになる場合です。入力ミスのドメインが実在し、他の人が所有していて、メールを受け取ってしまうことがあります。
| 本来のTLD | 入力ミス | 実在するTLDか | 起きること |
|---|---|---|---|
.com | .con, .cmo, .ocm,
.vom, .xom | いいえ | ドメインが解決されません。アドレスは検証に失敗し、メールを送ればハードバウンスになります。 |
.com | .co(コロンビア)、.cm(カメルーン)、
.om(オマーン) | はい | 似たドメインが他の人に登録されていてメールを受け取ることがあります。運が良ければバウンスで済みますが、悪ければプライバシーの漏えいになります。 |
.net | .nte、.ne(ニジェール) | いいえ、はい | 同じく二分されます。.nteは完全に失敗し、.neは他人に配信されることがあります。 |
.org | .ogr, .rog | いいえ | ドメインのチェックに失敗し、バウンスします。 |
実在するTLDの入力ミスがあるため、構文チェックだけでは不十分です。jane@gmail.coは、実在するTLD上の完全に有効なアドレスです。構文チェックは通過し、似たドメインが誰かに登録されていれば、ドメインのチェックも通過する可能性があります。既知のプロバイダーと照合すれば、どちらの場合でも検出できます。
構造上のエラー:@の抜け、スペース、カンマ、貼り付けた引用符#
3つ目のグループは、つづり間違いではなく、形そのものが崩れているものです。コピー&ペーストやスマートフォンのキーボードが原因であることが多く、対処のルールは単純です。意味が1つに決まるものは黙って修正し、推測が必要なものは確認します。
| エラー | 例 | 黙って修正するか、確認するか |
|---|---|---|
| 先頭または末尾のスペース | 前後にスペースが付いたjane@gmail.com | 修正:余分な空白を削除 |
| 貼り付けた表示名、引用符、山かっこ | "Jane" <jane@gmail.com> | 修正:アドレスを抽出 |
mailto:の接頭辞 | mailto:jane@gmail.com | 修正:取り除く |
| IMEキーボードによる全角文字 | jane@gmail.com | 修正:Unicode正規化(NFKC)で通常のASCIIにする |
| 大文字のドメイン | jane@Gmail.COM | 修正:ドメインを小文字にする。@より前は入力どおりにする |
| 末尾のドット | jane@gmail.com. | 修正:取り除く |
| @の抜け | janegmail.com | 確認する。入る位置は推測できますが、それでも推測です |
| アドレス内のスペース | jane doe@gmail.com | 確認する:janedoeかjane.doeか |
| ドットの代わりのカンマ | jane@gmail,com | ドットにした形を候補として示して確認する |
| 連続したドット | jane..doe@gmail.com, jane@gmail..com | 確認する |
| 1つの欄に2つのアドレス | jane@gmail.com, jo@gmail.com | どちらを使うか確認する |
入力ミスの代償がバウンス1回では済まない理由#
入力ミスは、1人の、1通のメールが届かないだけの、小さな個人的な失敗に見えます。しかし、影響はもっと広がります。
確実なハードバウンス#
存在しないドメインのアドレスや、作成されたことのないメールボックスは、最初にメールを送った時点で恒久的に失敗します。そうしたハードバウンスの1件1件が、メールプロバイダーが評価に使うバウンス率に影響します。入力ミスのチェックなしで集めたリストは、そのようなアドレスを常に抱えることになります。恒久的な失敗と一時的な失敗の違いは、ハードバウンスとソフトバウンスの違いで解説しています。
入力ミスのドメインに仕掛けられたスパムトラップ#
大手プロバイダーのドメインのつづり間違いを、トラップとして登録する運営者がいます。アドレスを確認しない送信者だけがそこにメールを送るからです。1つに当たるだけで、検証せずに収集していることがフィルターに伝わります。スパムトラップの3種類のうち、入力ミス型のトラップは、アドレス自体につづり間違いが表れているため、検証ツールが確実に取り除ける唯一の種類です。
プライバシーの漏えいとアカウントのセキュリティ#
入力ミスが、すべてのメールを受け付ける実在のドメインに行き着くと、メッセージはバウンスせず、別の場所に届きます。注文内容、請求書、サポートでのやり取りが、見知らぬ人に配信されるおそれがあります。アカウント制のサービスではさらに深刻で、ユーザーがつづりを間違えたドメインで登録すると、そのドメインを管理する人がパスワードリセットのリンクを受け取れてしまいます。機密性のある内容を送る前にアドレスを確認すれば、この穴をふさげます。
連絡が届かないお客様#
入力ミスをした本人に落ち度はありません。届くはずのない領収書、発送の連絡、ログインリンク、トライアル終了のリマインダーを待ち続けます。多くの場合、サポートへの問い合わせ、チャージバック、または静かな解約につながります。ストアやSaaSにとってはこれが本当のコストであり、ECのメールアドレス検証がマーケティングではなくチェックアウトに重点を置いているのもそのためです。
登録時に入力ミスを検出する方法#
入力する場面での予防は、後からのどんな修正にも勝ります。入力ミスをした本人がその場にいて、修正案を確認できるからです。
まず入力欄から始める#
最も手軽な入力ミス対策は、そもそも入力させないことです。
<input
type="email"
name="email"
autocomplete="email"
autocapitalize="none"
spellcheck="false"
required
/>
autocomplete="email"を指定すると、ブラウザやパスワードマネージャーが保存済みのアドレスを入力してくれます。自動入力されたアドレスには入力ミスがありません。type="email"は、モバイルで@と.のあるキーボードを表示し、基本的な形式チェックを行います。autocapitalize="none"とspellcheck="false"は、スマートフォンのキーボードが「親切に」大文字化したり、アドレスを書き換えたりするのを防ぎます。ただし、type="email"が確認するのは形式だけです。正規表現によるメールアドレス検証が失敗する理由で解説しているとおり、gmial.comは形式としては完全に正しいドメインです。
「もしかして…」という候補を表示する#
ドメインを一般的なプロバイダーの一覧と照合し、近いものがあれば修正案を示します。役に立つ案内と、うっとうしい案内を分けるルールがいくつかあります。
- チェックはフォーカスが外れたときか送信時に行います。 1文字入力するごとには行いません。入力の途中の
gmaiを指摘しないためです。 - 修正後のアドレス全体を表示し、変更した部分を強調します。 「jane@gmail.comではありませんか?」のように表示します。
- ワンクリックで修正案を採用でき、元のアドレスもそのまま使えるようにします。 候補が無視されたからといって、フォームをブロックしないでください。
- 黙って自動修正しないでください。
mail.comは実在のプロバイダーで、gmail.comとは1文字の違いです。黙って修正すると、本人が意図して入力したアドレスを変えてしまいます。 - 候補は既知のプロバイダーに対してだけ出します。
acme.coがacme.comの間違いかどうかは判断できません。企業のドメインを推測すると、防げる害より起きる害のほうが大きくなります。
照合は、編集距離のチェックで自作できます(その周辺のレイヤーは、Node.jsとPythonの検証ガイドで解説しています)。または、入力ミスの可能性が高いとQualisend APIが判断したときに返すdid_you_meanフィールドを使えます。サーバーレスでの登録パターンでは、これをフォームに組み込む方法を、同じ結果に含まれる使い捨てと役割のフラグとあわせて紹介しています。1つのアドレスでこのロジックを確かめるには、無料のメールアドレス入力ミスチェッカーに貼り付けてください。
「メールアドレスの確認」欄が弱い対策である理由#
「もう一度メールアドレスを入力してください」という2つ目の欄は、入力ミスへの最も一般的な対策ですが、効果は最も低い部類です。1つ目の欄を2つ目に貼り付ければ、入力ミスもそのままコピーされます。ブラウザは両方の欄を自動入力します。いつもgmialと打ってしまう人は、2回ともgmialと打ちます。しかも、正規の登録者全員に手間をかけさせて、ごく一部のミスを拾うだけです。「もしかして」の候補に加え、登録後にアドレスを表示して(「領収書をjane@gmail.comに送信しました。間違いですか? 修正する」)確認するほうが、少ない手間でより多く検出できます。
@より前の入力ミスにはメールボックスのチェックが必要#
jnae@gmail.comはドメインが正しいので、候補を出す仕組みでは対処できません。自分の名前を知っているのは本人だけです。これを自動的に検出する方法は、Gmailにそのメールボックスが存在するかを問い合わせる、SMTPによるメールボックスのチェックだけです。存在しなければ、配信不可のアドレスとして返されます。入力ミスがたまたま他人の実在のメールボックスに当たった場合や、ドメインがすべてのアドレスを受け付けるキャッチオールの場合は、どんなチェックでも判別できません。そこで、最後のレイヤーの出番になります。
最後の砦としてのダブルオプトイン#
確認メールは、他のすべてをすり抜けたものを検出します。入力ミスのアドレスはクリックしないためリストに加わらず、誤って受信した見知らぬ人にも二度とメールは送られません。ただし、ダブルオプトインは購読者を失うことで入力ミスを見つける仕組みです。そのため、検証の代わりではなく、検証の後ろに置くのが最も効果的です。両者のトレードオフはシングルオプトインとダブルオプトインの違いで、登録フォームに必要な他のレイヤーは偽のメールアドレス登録を防ぐ方法で解説しています。
すでにリストにある入力ミスを修正する#
これらの対策を導入する前に集めた入力ミスは、まだリストに残っています。次の手順で取り除きます。
- リストを検証にかけます。
did_you_meanの候補がある行や、配信できない入力ミスのドメインがある行は、結果にフラグが付きます。 - 送信対象から除外します。 バウンスするか、見知らぬ人に届くか、トラップに当たるかのいずれかで、どれも得にはなりません。
- 一括で修正してそのまま送信しないでください。 修正後のアドレスは本人のものかもしれませんが、本人が入力も確認もしていません。ありふれたローカル部の場合は、まったく別の人のものである可能性もあります。
- 別の手段でお客様に連絡を取ります。 アカウントを持つ人には、次回のログイン時にアドレスの確認を求めるか、すでに把握している電話番号を使います。価値の高いマーケティング用のコンタクトには、修正後のアドレスへ送るシンプルな確認メールを1通だけにとどめ、リンクがクリックされた場合にのみリストに戻します。
- フォームごとに入力ミスの割合を追跡します。 1つのフォームで急に増えたときは、たいてい何かが壊れています。たとえば、
type="email"が外れた入力欄や、オートコレクトが再び有効になったモバイルのレイアウトです。
検証、除外、再チェックという全体の流れは、メールリスト衛生チェックリストにまとめています。
よくある質問
01メールアドレスの入力ミスで最も多いものは何ですか?
プロバイダーのドメインのつづり間違い(gmial.com、gmai.com、gamil.com、hotmial.com、yaho.com、outlok.com、iclod.com)、トップレベルドメインの入力ミス(.comの代わりに.con、.cmo、.co)、そして@の抜け、スペース、ドットの代わりのカンマといった構造上のミスです。原因は、文字の入れ替わり、文字の抜け、隣のキーの押し間違い、文字の重複といった少数の機械的なミスのため、自動的に検出できるほど予測しやすいものです。
02メールアドレスの入力ミスは自動修正すべきですか?
いいえ。修正案を提示し、本人がワンクリックで採用できるようにしてください。近いつづりのドメインの中には実在のプロバイダーもあり(mail.comはgmail.comと1文字違いです)、黙って修正すると、本人が意図して入力したアドレスを変えてしまうおそれがあります。自動で修正してよいのは、余分なスペースやmailto:の接頭辞など、意味が1つに決まるミスだけです。
03「メールアドレスの確認」欄を設ければ入力ミスを防げますか?
確実ではありません。1つ目の欄を2つ目に貼り付ける人もいれば、ブラウザが両方を自動入力することもあり、いつも同じミスをする人は2回とも同じミスをします。登録者全員に手間をかけさせるのに、一部のミスしか拾えません。「もしかして…」の候補に加えて登録後にアドレスを表示するほうが、少ない手間でより多く検出できます。
04正規表現で入力ミスは検出できますか?
いいえ。正規表現が確認するのはアドレスの形式で、gmial.comは形式としては完全に正しいドメインです。ドメインの入力ミスを検出するには既知のプロバイダーとの照合が必要で、@より前の入力ミスを検出するには、そのメールボックスが存在するかをメールサーバーに問い合わせる必要があります。
05すでにリストにある入力ミスのアドレスはどうすればよいですか?
バウンスするか、見知らぬ人に届くか、スパムトラップに当たるため、送信対象から除外してください。本人が確認していないため、一括で修正して送信を始めてはいけません。お客様には、次回のログイン時や、すでにある別の連絡手段でアドレスの確認を依頼してください。マーケティング用のコンタクトには、修正後のアドレスへ確認メールを1通送るにとどめます。
無料のメールアドレス入力ミスチェッカーに任意のアドレスを貼り付けると、「もしかして…」のロジックを確認できます。無料メールチェッカーなら、フルチェックも実行できます。リスト全体をクリーニングするには、有効期限のない無料の100クレジットから始めてください。



