会員サイトやアプリのログインで、SMSの認証コード(=ログインのたびにスマホへ届く使い捨ての数字)を使っている会社は多いと思います。運用していると、ある日お客様から「SMSの認証コードが届かない」という問い合わせが来ることがあります。
「SMSの認証コードが届かないとお客様から問い合わせが来た。システム側と携帯電話会社側のどちらを疑えばいいの?」
先に結論をお伝えします。最初に見るべきなのは、SMS送信サービスに残っている「その1通の送信記録(配信ステータス)」です。記録が「送信していない・失敗」ならシステム側、「携帯電話会社に受け付けられた」なら受け取る側(携帯電話会社の拒否設定や端末の状態)を疑う、という順番で切り分けられます。そして、届かない人が1人なのか、大勢なのかで、急ぐべきかどうかが変わります。
この記事では、SMSの認証コードが届かないときに、運用担当者が自分で確認できること、開発会社に調べてもらうこと、お客様に案内することを、5つの確認として整理します(執筆時点:2026年11月)。
SMSの認証コードが届かないとき、まず「何人に起きているか」を確かめる
原因を探す前に、影響の広さを確かめます。ここで対応の急ぎ具合が決まるためです。
| 状況 | 疑うところ | 急ぎ具合 |
|---|---|---|
| 特定の1人・数人だけ届かない | 電話番号の登録ミス、受け取る側の拒否設定、端末の状態 | 個別に対応 |
| 特定の携帯電話会社の利用者だけ届かない | 携帯電話会社側の判定・経路、送信元の扱い | 開発会社に至急確認 |
| ほぼ全員に届かない | システム側の不具合、SMS送信サービスの障害・契約切れ・残高不足 | 障害として即対応 |
「1人から問い合わせが来た」だけでは、全体で起きているかどうかは分かりません。問い合わせ窓口に同じ内容が続いていないか、管理画面などで直近のログイン成功数が急に減っていないかを見るのが手がかりになります。全体で起きているなら、多くの利用者がログインできない状態なので、すぐ開発会社に連絡します。
なぜ「どちらのせいか」が分かりにくいのか
SMSは、システムからお客様のスマホまで、いくつもの会社を経由して届きます。
- 自社のシステム(会員サイト)が、SMS送信サービスに「この番号にこの文面を送って」と頼む
- SMS送信サービスが、通信事業者の経路を通じて、お客様が契約している携帯電話会社へ渡す
- 携帯電話会社が、迷惑SMSの判定や、お客様の受信設定を確かめてから端末に届ける
どこか1か所で止まっても、お客様から見えるのは「届かない」だけです。そのため、送信の記録をたどって、どこまで進んだかを確かめるのが切り分けの基本になります。
確認1:SMS送信サービスの「配信ステータス」を見てもらう
多くのSMS送信サービスは、1通ごとに「どこまで進んだか」を記録しています。これを配信ステータス(配信レポートとも呼ばれます)と言います。
📰 出典:AWS End User Messaging SMS「Event types for SMS, MMS, and voice」
例として、AWS の SMS 送信サービス(AWS End User Messaging SMS)の説明では、次のような状態が記録されます(名前はサービスによって異なります)。
| 状態の例 | 意味 | 疑うところ |
|---|---|---|
| 記録そのものが無い | システムが送信を頼んでいない | システム側 |
| TEXT_INVALID | 宛先の電話番号が正しくない | 登録された番号 |
| TEXT_CARRIER_BLOCKED/TEXT_SPAM | 受け取る側の携帯電話会社が、迷惑・不正なSMSと判断して止めた | 文面・送信元の扱い |
| TEXT_BLOCKED | 受け取る側の端末や携帯電話会社が受信を止めている | お客様の受信設定 |
| TEXT_UNREACHABLE | 端末の電源が切れている・圏外など | お客様の端末の状態 |
| TEXT_SUCCESSFUL/TEXT_DELIVERED | 携帯電話会社に受け付けられた(届いた) | 受け取った後の端末側 |
ここで注意したいのは、「成功」は、多くの場合「携帯電話会社が受け付けた」という意味だということです。AWS の説明でも、成功(Successful)は受け取る側の携帯電話会社にメッセージが受け付けられたときに起きる、とされています。成功になっているのに届かない場合は、端末側の設定や、届いたのに見落としている(別のスレッドに入っている、など)可能性も残ります。
発注者がやることは、開発会社に「この時刻に、この番号宛ての送信記録を見てほしい」と頼むことです。問い合わせを受けたときに、お客様の電話番号(下4桁など)と、試した日時を控えておくと、調べる時間が大きく短くなります。
確認2:システムが送信を頼んでいるか(システム側を疑うとき)
送信記録が無い、またはほぼ全員に届かない場合は、システム側を疑います。よくある原因は次のとおりです。
- SMS送信サービスの契約・支払いが止まった、プリペイドの残高が尽きた、月の送信上限に達した
- SMS送信サービスに接続するためのキー(APIキー)の期限切れ・入れ替え忘れ
- 直前のシステム更新で、送信の処理が壊れた
- 短い時間に何度も送れないようにする制限(送信回数の上限)に、お客様が引っかかっている
- SMS送信サービス自体の障害
最後の2つは、障害ではないこともあります。送信回数の上限は、いたずらや不正なログインの試行を防ぐための大切な仕組みです。お客様が何度も「再送」を押した結果、上限で止まっているだけ、ということもあるため、開発会社に「上限の値と、止まったときの画面の表示」を確認しておくと案内しやすくなります。
確認3:受け取る側の拒否設定や迷惑SMSの判定(携帯電話会社側を疑うとき)
送信記録が「携帯電話会社が止めた」「端末が受け付けない」となっている場合や、特定の人だけ届かない場合は、受け取る側を疑います。日本の携帯電話会社には、迷惑SMSを防ぐための仕組みがいくつもあります。
📰 出典:NTTドコモ「SMS拒否設定」
ドコモの案内では、SMSの拒否設定として「SMS一括拒否」「国際SMS拒否」(海外事業者の利用者から送られたSMSを拒否)「国内他事業者SMS拒否」「個別番号受信」(指定した番号からだけ受け取る)などがあります。また、フィッシングと判定されたSMSを拒否する「危険SMS拒否」が、多くの利用者に自動で適用されているとされています。
📰 出典:au「迷惑SMSブロック」
au の「迷惑SMSブロック」は、申し込みなしで自動的に適用され、本文などから迷惑SMSの特徴に合うものを届きにくくする仕組みです。案内には、ごくまれに迷惑SMSではないSMSが規制される場合がある、とも書かれています。ソフトバンクにも、海外からの電話番号のSMSを拒否する設定があります。
📰 出典:ソフトバンク「海外からの電話番号メール(SMS)拒否設定」
ここから分かるのは、次の2点です。
- SMS送信サービスが海外の経路から送っている場合、「国際SMS拒否」などを設定しているお客様には届かない
- 文面がフィッシングに似ている場合(本文にURLがある、短縮URLを使っている、など)、迷惑SMSと判定されて届きにくくなることがある
どちらも、システムの不具合ではありません。ただし「自社のSMSがどの経路で送られているか」「文面が誤って判定されやすくないか」は、発注者が開発会社に確認できることです。
確認4:登録された電話番号と、お客様の端末の状態
1人だけ届かない場合、意外に多いのが単純な原因です。
- 登録された電話番号が古い・入力ミスがある(機種変更や番号変更のあと、更新されていない)
- 格安SIMのデータ通信専用プランなど、SMSを受け取れない契約になっている
- 端末の電源が切れている・圏外・機内モード
- SMSが届いているが、迷惑メッセージのフォルダや別のスレッドに入っていて気づいていない
これらは、問い合わせ窓口で確認できることです。窓口の担当者が順に聞けるよう、確認の手順をまとめておきましょう。ただし、電話口で認証コードそのものや、パスワードを聞き出してはいけません。なりすましを防ぐため、窓口では「届いているかどうか」だけを確かめ、コードの値は聞かないルールにします。
確認5:届かないときの「代わりの手段」と、お客様への案内を決める
どれだけ原因を調べても、SMSは一定の割合で届かない人が出る前提で考えるのが現実的です。認証SMSが届かないと、お客様はログインできず困ってしまいます。
- 代わりのログイン手段:メールでの認証コード、認証アプリ(ワンタイムパスワードを表示するスマホアプリ)、窓口での本人確認の手順
- お客様への案内:「認証コードが届かない場合」というよくある質問のページを用意し、携帯電話会社の拒否設定の確認方法へ案内する
- 送信元の案内:自社のSMSがどの送信元(番号や名前)から届くかを、サイトに書いておく
代わりの手段は、不正ログインの抜け道にならないよう、本人確認の強さをそろえることが大切です。たとえば窓口で電話番号を変えるときに、名前と生年月日だけで受け付けてしまうと、そこが弱点になります。どこまで確認するかは、開発会社と相談して決めましょう。
SMS送信サービスの乗り換えのあとに「届かない」が増えた場合は、送信元や経路が変わったことが原因の可能性があります。乗り換えのときの注意点は、次の記事で解説しています。


「SMSが届かない」でやりがちな失敗
よくあるつまずきを、パターンとしてまとめます(特定の事例ではなく、よくある流れを整理したものです)。
| やりがちな失敗 | 何が起きるか | 防ぎ方 |
|---|---|---|
| 「お客様のスマホの問題です」とすぐ答える | システム側の障害を見逃し、被害が広がる | 送信記録と件数を見てから答える |
| 電話番号や日時を控えずに開発会社へ回す | 送信記録を探せず、調査が長引く | 番号の一部と試した日時を控える |
| 再送の回数制限を外してしまう | 不正なログインの試行や、SMS料金の増加につながる | 上限は残し、窓口での案内で対応する |
| 窓口で認証コードを聞き出す | なりすましの手口に悪用される | コードの値は聞かないルールにする |
| SMSだけをログイン手段にしている | 届かない人が自分で解決できない | メール・認証アプリなど代わりの手段を用意する |
発注者がやること チェックリスト
- ☐ 「届かない」の問い合わせを受けたら、電話番号の一部・試した日時・携帯電話会社を控える手順にした
- ☐ 届かない人が1人か大勢かを確かめる方法(問い合わせ件数・ログイン成功数)を決めた
- ☐ 開発会社に、SMS送信サービスの配信ステータスを確認してもらう連絡の流れを決めた
- ☐ SMS送信サービスの契約・残高・送信上限・キーの期限を、誰が見ているか確認した
- ☐ 問い合わせ窓口用に、携帯電話会社の拒否設定などを確認する手順をまとめた
- ☐ 窓口では認証コードやパスワードを聞かないルールを共有した
- ☐ SMSが届かないときの代わりのログイン手段と、その本人確認の強さを決めた
- ☐ 「認証コードが届かない場合」のよくある質問のページを用意した
開発会社への質問例
- 「お客様から『SMSが届かない』と言われたとき、送信記録(配信ステータス)を調べるには、どの情報を伝えればいいですか」
- 「今のSMSは、どの送信元(電話番号・ショートコード・送信者ID)から、国内と海外のどちらの経路で送られていますか。『国際SMS拒否』を設定しているお客様にも届きますか」
- 「SMS送信サービスの契約・残高・送信上限が足りなくなったとき、事前に気づける仕組みはありますか」
- 「認証コードの再送の回数制限はどう設定されていて、制限に当たったときお客様の画面には何と表示されますか」
- 「SMSが届かないお客様のために、メールや認証アプリなどの代わりの手段を用意する場合、費用と期間はどのくらいですか」
まとめ
SMSの認証コードが届かないと言われたときは、「どちらのせいか」をいきなり決めつけず、次の順で切り分けます。
- まず、届かないのが1人か大勢かを確かめる(大勢ならシステム側の障害として即対応)
- 開発会社に、その1通の配信ステータスを見てもらう(記録が無い・失敗ならシステム側、受け付け済みや拒否なら受け取る側)
- 受け取る側なら、携帯電話会社の拒否設定・電話番号・端末の状態を、窓口で順に確認する
あわせて、SMSが届かない人がいる前提で、代わりのログイン手段とお客様への案内を用意しておくと、問い合わせ自体を減らせます。どこまでを窓口で対応し、どこから開発会社に頼むかは、発注者が決める部分です。まずは開発会社に「送信記録はどこで見られますか」と聞くところから始めてみてください。
あわせて読みたい関連記事















