トラブルシューティング

確認メールが届かない原因と対処法・迷惑メールフォルダがない理由も解説

確認メールが届かない原因はそれほど多くなく、しかも起こりやすさには大きな差があります。ここでは確認する価値が高い順に並べました。最初に挙げるのは10秒で終わり、たいていはこれが正解という原因です。

  • 初級
  • 読了12分
3つのアーチの中央の下で、下りた遮断機に止められた青い封筒。線路の先には、開いたまま待っている空のメールボックスがある

最初にやるべき60秒チェック

まずはこの4つを確認してください。これだけで、確認メールが届かないケースの大半をカバーでき、しかもこの一文を読むより時間はかかりません。

  1. アドレスを1文字ずつ読み合わせる。頭の中にあるアドレスではなく、実際に画面に表示されているアドレスと、フォームに入力されているアドレスを照らし合わせます。rnml1、付け忘れたドット、余分なドット — 1文字でも違えば、それは完璧に機能する別人のメールボックスであり、自分のものではありません。
  2. 使ったドメインを確認する。公開ドメインは3つ用意されていて、同じ名前でもドメインが違えば別々のメールボックスになります。k7fq2m@grabmail.iok7fq2m@mixozia.comは、まったくの無関係です。
  3. 見ているのがエイリアスではないか確認する。エイリアスは人に渡すためのアドレスで、メールボックスは自分が保持するアドレスの下に開きます。エイリアスを読み返しても毎回空のメールボックスが出てくるのは、メールが遅れているからではなく、そのアドレスの下には何も保存されないからです。
  4. サイトに再送信を依頼する。ほとんどのサインアップフォームには再送信リンクがあり、費用もかかりません。2通目がすぐ届くなら、1通目は送信元の側で失われたということであり、こちら側で調べることは何もありません。

確認メールは本来どのくらいで届くのか

確認メールは通常、ボタンを押してから2〜3秒で届きます。それより長くかかる場合に考えられることは、以下のとおりです。

リクエストからの経過時間考えられる原因対処法
5秒未満正常です。メッセージはまだインターネットを経由中です。何もする必要はありません。受信箱は自動的に更新されます。
5秒〜60秒送信側でキューイングされています — 混雑しているプロバイダか、1分ごとに実行されるバッチ処理です。そのまま待ちます。
1分〜5分送信元が送信量を抑制しているか、再送信を試みているか、あるいはモデレーションキューでメッセージを保留しています。一度だけ再送信を依頼してください。2回続けて届かない場合は、1回だけの場合よりずっと多くを物語っています。
5分以上遅延ではなく、何かが失敗しています。このガイドの残りの項目を確認してください。

こちら側に原因がある遅延も一つだけあり、知っておく価値があります。ストレージ層が利用できない場合、メールサーバーは届いたメッセージを拒否せずに受け入れて保持し、ストレージ層が復旧し次第配信します — 最大5日間です。こちら側の問題を理由に送信サーバーへ恒久的な拒否を返すことは決してありません。送信側は恒久的な拒否を再送しないためです。したがって、本当に遅れているだけのメッセージは、必ず届きます。

サイト送信を決定するサイトのメールサーバーsmtp.grabmail.ioへ引き渡すあなたのメールボックス5日間保持する送信されなかったアドレスが拒否された違うメールボックスを見ている
確認メールが止まりうる場所は3か所あり、受信箱から見えるのは最後の1か所だけです。どの関門で止まったかによって、取るべき対応が変わります。

違うメールボックスを見ていないか

これが最も多く、しかも最も気づきにくい原因です。1文字違うアドレスも、それ自体は完全に機能するメールボックスであり、単に誰も何も送っていないだけです。ここでは何も事前に作成されないため、気づくべきエラーそのものが存在しません。よくある6つのパターンを挙げます。

どちら側でも起こる入力ミス
フォームにはある形で入力し、受信箱の確認では別の形で見てしまっている状態です。画面を目で読むのではなく、両方向ともコピペで確認しましょう。
name+tag@name@とは別物
プラスアドレッシングは、既存のメールボックスにタグを付けるのではなく、別のメールボックスを新しく開きます。これは意図的な仕様です — タグはサインアップを区別するためのものです — ただしその結果、shop+aug@grabmail.ioshop@grabmail.ioには表示されません。タグも含めて、入力したとおり正確に開いてください。
別の公開ドメイン
同じ名前でも、grabmail.iomixozia.comlinqmail.comではそれぞれ無関係な3つのメールボックスになります。互いに共有されるものは何もありません。
アドレスではなくエイリアス
エイリアスはメールボックスへの配信には使われますが、そこから読み返すことは一切できません。エイリアスを受信箱の確認画面に貼り付けても、どれだけメールが届いていようと、いつまでも空のままです。
スマートフォンの「お節介」
オートコレクトや自動大文字変換が、入力中にアドレスを書き換えてしまうことがあります。大文字自体は問題ありません(ここではすべて小文字に変換されます)が、自動修正された単語は別のアドレスになってしまいます。
一瞬だけ、誰か他人のメールボックス
公開ドメイン上の短くて分かりやすい名前は、同じことを思いついた全員に共有されています。test@hello@を使った場合、あなたが確認する前に、別の誰かがそのメッセージを開いたり削除したりしている可能性があります。

そもそもサイト側が送っていない可能性

早い段階で除外しておく価値があります。こちら側で何をしても解決しないからです。サインアップフォームは、実際にはかなりの頻度で、それと分からないまま失敗しています。

  • アカウントがすでに存在している。多くのサイトは、アドレスが新規かどうかにかかわらず「リンクを送信しました」と表示し、新規でない場合は実際には何も送信しません。これはアドレス収集への対策として意図的に行われている、むしろ良い実践なのですが、メッセージが失われた場合と見分けがつかないという欠点もあります。
  • フォーム送信後の「ありがとうございました」表示のあとで、アドレスが拒否されている。ブロックリストの中には、フィールド入力時ではなく、実際にメッセージを送信する段階でチェックが走るものがあります。
  • 送信がスケジュール実行になっている。小規模なサイトでは5分や10分おきのバッチ処理で送信することが珍しくなく、それがページ上に書かれていることはまずありません。
  • 送信元のプロバイダでバウンスした。バウンスの通知は自分ではなく送信元に返るもので、しかも必ずしも担当者の目に届くとは限りません。
  • 再送信の上限を超えている。1分間に3回リクエストすると、4回目は何の通知もなく破棄されます。

これらすべてを配信の問題と切り分けるテストが一つあり、1分もあれば済みます。同じアドレスに、別の何かを送ってもらうのです。他のサイトの「パスワードを忘れた場合」フォームで十分です。それが届いて確認メールだけが届かないなら、原因は送信元にあり、どれだけ待っても状況は変わりません。

使い捨てメールがブロックされている

多くのサービスが使い捨てメールドメインのリストを保持しており、ここの公開ドメインもそこに含まれています。これは放っておいても解決しない唯一の原因なので、早めに見抜く価値があります。現れ方は2パターンあり、そのうち自分のしていることを正直に示しているのは一方だけです。

実際に表示される内容実際に起きていることあなたにとっての意味
送信する前から「有効なメールアドレスを入力してください」と表示される入力中にフォームがチェックしているリストに、そのドメインが載っています。少なくとも目に見える形で分かります。他の公開ドメインを試すか、独自ドメインのアドレスを使ってください。
フォームには受理されるが、メールが一向に届かないサインアップ時には受理されるものの、実際にメッセージを送信する段階で破棄されている、あるいは誰も処理しないモデレーションキューに入れられています。何の通知もありません。これを疑うまでに、半日を費やす人も少なくありません。
先月まで使えていたのに、今日は使えないリストが更新されただけです。あなたが何かを変えたわけではありません。安定して使えるのは、どのリストにも載ったことのないアドレスだけです。

ブロックされたドメインをブロック解除する裏技はなく、「どこでも使える一時メール」を謳うサービスは、単にまだリストが更新されていないだけです。実際に効果があるのは、どこにもリストされていないアドレスであり、それが次のセクションの内容です。

そうしたリストが実際に何をチェックしているかを含め、より詳しい内容は本当のアドレスを教えずにサインアップする方法のガイドにまとめています。

根本から解決するなら独自ドメイン

すでに持っているドメインにMXレコードを1件追加するだけで、そのドメイン上のすべてのアドレスがここのメールボックスになります。無料で、数分で終わり、しかも上で挙げた原因のうち3つを一度に解決します。

  • どのブロックリストにも載っていません。あなたのドメインはこのサイト上のどこにも表示されないため、フィルタが照合する対象そのものがありません。
  • 他人に推測されることもありません。公開ドメインはこのサイトのあらゆるページに登場しますが、あなたのドメインはそこにないため、短いアドレスでも見知らぬ人と共有されることはありません。
  • サービスごとに1アドレスで、衝突もありません。今日はforum@、明日はshop@というように、自分しか使わないドメイン上で使い分けられます。どちらかに迷惑メールが来始めたら、誰がそのアドレスを流出させたかも一目瞭然です。

レコード自体は1行だけで、それを公開することがそのまま所有権の証明になります。作成すべきアカウントも、別途確認すべきことも一切ありません。

お使いのドメイン用のMXレコード10 smtp.grabmail.io

詳しい手順はこちら。レコードの内容、それを公開することで何が証明されるか、そしてパスワードのないメールボックスの正直な限界について解説しています。

人ではなくテストスイートが待っている場合

ここまでの内容はすべて当てはまりますが、それに加えてスクリプトだけが引っかかる3つの落とし穴があります。

空のメールボックスはエラーではない
ここでは何も事前に作成されないため、一度も何も受信していないアドレスは、空のリストとともにcount: 0を伴う200を返します。404が返るのは、ホストしていないドメインの場合だけです。「空」を失敗として扱うコードは、メールが届く1秒前にあきらめてしまいます。
ポーリングではなくスリープしている
固定のsleep(5)は、うまくいく日には長すぎ、うまくいかない日には短すぎます。実時間で期限を決めて1秒ごとにポーリングし、決まった試行回数ではなく期限切れでテストを失敗させてください。
レート制限を超えている
1アドレスにつき1秒に1リクエストです。これを超えると、整数秒で示されるRetry-Afterヘッダーとともに429が返ります。このヘッダーを無視して叩き続けるクライアントは、結果的にもっと長く待つことになります。
届くまでポーリングし、60秒で諦める
deadline=$(( $(date +%s) + 60 ))
while [ "$(date +%s)" -lt "$deadline" ]; do
  n=$(curl -sG https://grabmail.io/api/v1/mailbox \
        --data-urlencode "address=$ADDR" | jq '.count')
  [ "$n" -gt 0 ] && break
  sleep 1
done

これを正しく行う方法については、メール確認フローをエンドツーエンドでテストするという別のガイドで詳しく扱っています。安定して落ちないPlaywrightとpytestのヘルパー、そしてCIでこれが厄介になる失敗パターンについても解説しています。

届いたはずのメールが見当たらない場合

確かに届いたはずのメッセージが今は見当たらない、その理由は3つ考えられます。

期限切れになった
すべてのメッセージは、既読かどうかにかかわらず、届いてから5日後に削除されます。カウントは配信の時点から始まり、すべてのメッセージにexpires_atが付いているため、クライアント側でその日付を自分で計算する必要はありません。
誰かが削除した
公開ドメインでは、アドレスを知っている人なら誰でもメールボックスを開き、そこから削除できます。短くて推測しやすい名前を使った場合、削除したのは自分とは限りません。
自分で削除した
受信箱には削除ボタンがあり、APIにはDELETE呼び出しがあります。どちらも即座に反映され、元に戻す手段はありません。

それでも見つからないときの対処法

問い合わせ先となるサポートメールボックスはありません。これは不親切なのではなく、意図的な設計です。認証なしの使い捨てメールの上に成り立つサービスは、読んでもらう必要のあるものを送る場所ではないからです。したがって、残る手段はすべて自分自身でできることです。

  1. サービスが稼働しているか確認する。ステータスページではメールサーバー、API、ウェブサイトの状態が別々に報告されるため、「何も届かない」ことと「サイトが重い」ことが混同されることはありません。
  2. 別の公開ドメインを試す。1つが送信元のブロックリストに載っていても、残り2つはそうではないかもしれません。
  3. 独自ドメインのアドレスを試す。これ一つで、あらゆるブロックリストの可能性を一度に排除できます。そうできるテストは、これだけです。
  4. 別の経路で入る。サイトが対応していれば、すでに持っているアカウントや電話番号でサインインします。
  5. 原因は送信元だと割り切る。他のどこかから送ったメールが数秒後に同じメールボックスに届くなら、メールボックスは正常に機能しており、そもそもメッセージが引き渡されていなかったということです。

そして、その確認メールが本当に大切にしたいアカウントとの間に立ちはだかる唯一のものだったのなら、これを機に本物のメールボックスを使ってください。使い捨てアドレスが向いているのは、1時間後にはどうでもよくなるようなサインアップです — 多くの場合はそれに当てはまりますが、そのアカウントだけは別です。

質問

確認メールは届くまでどれくらいかかりますか?

ここでは2〜3秒が普通です。1分以内であれば特に問題はなく、送信側でキューイングされているだけです。5分を超える場合は、遅延ではなく何かが失敗しているということであり、それ以上待っても結果はほとんど変わりません。

迷惑メールフォルダを確認したほうがいいですか?

ありません。ここでは何もフィルタリングも仕分けも隔離もしていません。1アドレスにつき1つのメールボックスがあり、配信されたものはすべてそこにあります。メッセージがそこになければ、それは配信されていないということであり、これによって調べる範囲がかなり絞り込めます。

送信済みと表示されるのに受信箱が空なのはなぜですか?

多くの場合、見ているアドレスが実際の送信先と違うからです。入力ミス、別の公開ドメイン、+tag、またはエイリアスなどです。次に多いのは、多くのサイトがアドレスが既に登録済みかどうかにかかわらず「送信しました」と答え、既に登録済みの場合には実際には何も送らないためです。

name+tag@宛てのメールが届かないのはなぜですか?

name+tag@は、name@に付いたラベルではなく、ここでは独立した別のメールボックスだからです。フォームに入力したとおり、タグも含めて正確にアドレスを開けば、メッセージはそこにあります。

特定の送信元をブロックすることはありますか?

送信元をフィルタリングすることはありません。SMTPのやり取りの中で拒否されるのは次の2つだけで、どちらもその場で送信元に伝わるため、送信元が結果を推測する必要はありません。5 MBを超えるメッセージと、ここでホストしていないドメイン宛てのメールです。過剰な数の接続を開くホストは10分間保留されるため、そのメールは失われるのではなく遅れるだけです。

「無効なメールアドレス」と表示されるのはなぜですか?

アドレス自体は有効です。そのドメインが使い捨てメールのブロックリストに載っているだけです。別の公開ドメインなら通ることもありますし、独自ドメインのアドレスなら必ず通ります。

期限切れになったメッセージは復元できますか?

できません。到着から5日後の削除は設定ではなくジョブによって強制される絶対的な上限であり、エクスポートもアーカイブも元に戻す手段もありません。その期間より長く残す必要があるものは、自分の側で取得して保存しておく必要があります。

確認リンクは翌日開いても使えますか?

それはこちらではなく送信元側のルールによります — たいていのコードやリンクは数分から数時間で期限切れになります。メッセージ自体はここに5日間残るため、中のリンクが無効になったあとでも、書かれていた内容は常に読み返せます。

届いたメールに返信して再送を頼めますか?

できません。このサービスは受信専用で、送信は一切行いません。SPFはv=spf1 -all、DMARCはp=rejectに設定されているため、ここのアドレスから来たと称するものはすべて偽装です。代わりに、サイト上の再送信ボタンを使ってください。

新しいうちに試してみてください

アドレスの取得はワンクリックで、アカウントもカードも不要です。このガイドの内容はすべて、そのアドレスですぐに試せます。

おかえりなさい

受信箱とドメインを、ひとつの場所に。