Firebase Authentication を使ってメール認証を実装していると、 「認証メールが届かない」という問い合わせを受けることがあります。
私が運営しているアプリ「返済ログ」でも、アカウント作成時に 認証メールを送信する仕組みを導入していますが、 あるユーザーから次のような連絡がありました。
「アカウント登録をしたのですが、認証メールが届きません」
迷惑メールフォルダを確認してもらっても見当たらず、 詳しく調べたところ、そのユーザーは iCloudメール を使用していました。
実際に私自身の iCloud メールアドレスで検証してみたところ、 Firebase のデフォルトドメイン(@firebaseapp.com など)から送信される 認証メールが 一切届かない 状態でした。
iCloudメールでFirebase認証メールが届かない原因
Firebase Authentication のデフォルト設定では、 Google 側の共通ドメインを使って認証メールが送信されます。
しかし iCloud メールはフィルタリングが非常に厳しく、 送信ドメインの信頼性が低いと、迷惑メールフォルダにも入らず サイレントブロックされることがあります。
- 連絡先にドメインを登録
- iCloudメールのルール設定に追加
といった対策も試しましたが、いずれも効果はありませんでした。
解決策:独自ドメインのサブドメインを使う
そこで試したのが、 自分が所有している独自ドメインのサブドメインを作成し、 Firebase Authentication のカスタムドメインに設定する方法です。
結果として、この方法で iCloudメールにも問題なく認証メールが届く ようになりました。
この記事では、以下の構成で手順を解説します。
- ConoHa WING でサブドメインを作成する
- Firebase Authentication にカスタムドメインを設定する
- iCloudメールでの受信確認
ConoHa WINGでサブドメインを作成する手順
ConoHa WINGでサブドメインを作成する手順
今回は例として、次の構成を使用します。
- 親ドメイン:engineer-papa.com
- サブドメイン:[サブドメイン].engineer-papa.com
① ConoHa WING 管理画面にログイン
ConoHa WING の管理画面から「DNS」→ 対象ドメインを選択します。

Firebase Authenticationでカスタムドメインを設定
次に Firebase 側の設定です。
① Firebaseコンソールを開く
Firebase コンソール → Authentication → 設定 → カスタムドメイン を開きます。

② カスタムドメインを追加
先ほど作成したサブドメインを入力すると、 DNS に設定すべき CNAME レコードが表示されます。


③ ConoHa WING サブドメインのDNSレコードを追加
Firebase から指定される値を使って、CNAME レコード等を追加します。


④ Firebase Authentication カスタムドメインの検証
Firebase Authenticationの「確認」ボタンをクリック


③ ドメインの検証を完了させる
ConoHa WING 側の設定が反映されると、 Firebase 側で「確認が完了しました」と表示されます。
「カスタムドメインを適用」をクリック

iCloudメールでの受信確認
カスタムドメイン設定後、再度 iCloud メールアドレスで アカウント作成を試したところ、 即座に認証メールが届くようになりました。
通常の受信トレイに届いたため、 iCloud 側のフィルタに引っかからなくなったと考えられます。
ただ場合によっては迷惑メールフォルダに入ってしまいます。。。
まとめ(同じ悩みを持つ人へ)
- Firebase Auth のデフォルトドメインは iCloud で弾かれることがある
- 連絡先登録やルール設定では解決しないケースがある
- 独自ドメインのサブドメインを使ったカスタムドメイン設定が有効
もし「Firebase の認証メールが iCloud に届かない」で悩んでいる場合は、 サブドメイン+カスタムドメイン設定をぜひ試してみてください。
