「Email Freedom」:プロバイダーを切り替えてもメールアドレスがそのまま使える、費用も維持管理も不要なプライベートメールボックス
· 27 分で読めます
デジタルライフルーターやNAS、エッジコンピューティングをいじる際の第一のルールは、独自ドメインを所有することです。そして、ドメインを取得したら、そのドメイン上にプライベートなメールボックスを設けるのが、当然の次のステップとなります。以前、ホスティング型のビジネス用メールボックスを試したことがありますが、ストレージ容量は限られており、スパムフィルタリングの性能も今ひとつで、予想以上に早く容量が不足してしまいました。 Google WorkspaceやMicrosoft 365といった大手国際サービスは、ユーザー数に応じた課金方式を採用しているため、個人事業主や自宅のラボ環境では費用がかさんでしまいます。さらに、メールボックスがベンダーの管理コンソールやアカウントシステムに縛られてしまうため、扱いに手間がかかります。
しかし、プライベートなメールボックスだからといって、必ずしもビジネス向けのメールボックスに料金を支払う必要はありません。いろいろ試行錯誤した結果、実用的な理由から、Cloudflare Email Routingを採用することにしました:
• 私のドメインはすでに登録済みです。 私のドメインやブログ、その他多くのサービスはCloudflare上で運用されています。「Eメールルーティング」機能を使えば、ワンクリックでMXレコード、SPFレコード、DKIMレコードを作成できるため、ドキュメントから手作業で値をコピーする必要がなくなります。とても便利です。
• ストレージ容量や受信枠の心配は不要です。 メール転送は「転送のみ」の機能です。メールはご自身のメールボックスに残りますので、ストレージ容量は、そのメールボックスが提供する容量の範囲内となります。受信は無料で無制限であり、アカウントごとの料金もかかりません。
• アドレスはいくつでも作成可能です。 キャッチオール機能といくつかのルールを活用すれば、一時的な登録用アドレスの管理、ブロック、スパムフィルタリングをすべてご自身で制御できます。
• 連携するプラットフォームアカウントがありません。 メールボックスを持つためだけに、また別のベンダーのコンソールに登録したり、大量のビジネス情報を確認したりする必要はありません。
セットアップ
メールルーティングを利用するための唯一の前提条件は、お客様のドメインのDNSがCloudflareによって管理されていることです。メールルーティング自体は無料で、受信数に制限はありませんので、まずは基礎をしっかりと整えましょう。
ドメインをCloudflareに登録してください
ドメインをどこで購入したかは問題ではありません。Namecheap、GoDaddy、Squarespace、IONOS、Cloudflare Registrarのいずれでも利用可能です。重要なのは、ネームサーバー(NS)をCloudflareから割り当てられた2つのサーバーに変更することです。
1. Cloudflare にログインし、ダッシュボードで ドメインを追加 を選択し、ルートドメイン(例:example.com)を入力して、無料プランを選択してください。
2. Cloudflareは、既存のDNSレコードをスキャンします。それらを1つずつ確認し、不足しているものを追加し、古くなったもの、特にAレコードやCNAMEレコードを削除してください。そうすることで、解決先が切り替わった際にも問題が発生しないようにします。
3. このページには、2つのネームサーバー(xxx.ns.cloudflare.com のような形式)が表示されています。ドメイン登録業者に戻り、既存のネームサーバーをすべてこの2つに置き換えてください。古いネームサーバーと混在させないようにしてください。
4. Cloudflareに戻り、チェックを実行して、ドメインのステータスがPendingからActiveに変わるのを待ちます。通常、数分程度かかります。レジストラによっては処理に時間がかかる場合もありますが、24時間以上かかることはめったにありません。
いくつか注意すべき点があります:
• まず、DNSSECを無効にしてください。 レジストラでDNSSECが有効になっている場合(DSレコードが存在する場合)、これを無効にし、変更が反映されるのを待ってからネームサーバーを切り替えてください。そうしないと、ドメイン名の解決に失敗し、ドメインの状態が「保留中」のままになってしまいます。その後、CloudflareでDNSSECを再度有効にすることができます。
• ネームサーバーをあらかじめ設定しないでください。 まずCloudflareにドメインを追加し、その後、Cloudflareから割り当てられたネームサーバーをレジストラにコピーしてください。あらかじめ設定しておいたネームサーバーは、新しく割り当てられたものに置き換えられてしまいます。
• このドメインで、Google Workspace、Microsoft 365、またはZohoを使用してメールをホストしていた場合は、古いMXレコードをまだ削除しないでください。 メールルーティングを有効にする直前に、それらの処理を行ってください。
メールのルーティングを有効にする
ドメインのステータスが「アクティブ」になったら、ダッシュボードで**「Compute」→「Email Service」→「Email Routing」**を開き、対象のドメインを選択して有効にしてください。お使いの環境ではメニューの表示が異なる場合がありますので、その場合はダッシュボード内で「Email Routing」を検索してください。
この機能を有効にすると、Cloudflare が 3 種類の DNS レコードを自動的に追加します。これらを手動で入力する必要はありません:
| 記録 | 目的 | 注記 |
|---|---|---|
| MX | お客様のドメイン宛てのメールを、まずCloudflareに転送します | Cloudflareのメールサーバーを指すレコードで、通常は数件あります |
| TXT (SPF) | どのサーバーがお客様のドメインを代表して送信できるかを指定します | 既存のSPFレコードは上書きされません。Cloudflareの「include:」を手動で追加してください。 |
| TXT(DKIM) | 署名の検証に使用されます | ホスト名は「cf2024-1._domainkey」のような形式になっています |
ドメインにGoogle Workspace、Microsoft 365、またはZohoの古いMXレコードが残っている場合、有効化の処理はエラー2008(Cloudflare以外のMXレコードが存在します)により失敗します。操作の順序が重要です:
1. まず、宛先のメールボックスを確認してください(次のセクションを参照してください)。宛先アドレスはそのアカウントに紐づいているため、事前に追加しておくことができます。
2. DNS → レコード に移動し、以前のプロバイダの MX レコードを削除してください。
3. すぐに「メールルーティング」を有効にして、Cloudflareが新しいMXレコードを書き込むようにしてください。この2つの手順の間にはわずかな時間差がありますが、ほとんどの送信サーバーは再送信を行うため、メールが失われることはないはずです。
4. 今すぐルーティングルールを作成してください。 MXレコードがCloudflareを指すようになると、ルールに一致しない宛先へのメールは「アドレスが存在しません」として返送され、送信者は再送信を行わなくなります。
引き続き以前のプロバイダー経由で送信する場合は、そのプロバイダーのSPFの「include:」およびDKIMレコードを残しておいてください。そのプロバイダーの利用を終了した場合は、それらも削除してください。移行中は、一部の送信者が以前のMXレコードをキャッシュしており、しばらくの間そのアドレス宛てに配信し続ける可能性があるため、以前のメールボックスを解約しないでください。
宛先のメールボックスをご確認ください
Cloudflareはメールボックスのストレージを提供しておりません。Cloudflareは、お客様のドメイン宛てに送信されたメールを、お客様がすでに利用されている実際のメールボックス(Cloudflareではこれを宛先アドレスと呼んでいます)に転送するのみです。 そのため、ストレージ容量の問題も発生しなくなります。メールはお客様ご自身のメールボックスに保存され、そのプロバイダーが割り当てる容量を決定するからです。宛先メールボックスの容量が不足した場合は、別のメールボックスに切り替えることができます。
1. **「メールのルーティング → 宛先アドレス」**を開いてください。
2. 実際に利用しているメールアドレスのメールアドレスを入力して、送信してください。実際に利用しているメールアドレスであればどれでも構いませんが、Gmailはよく使われる無料の選択肢の一つです。
3. そのメールボックスを開き、Cloudflareからの確認メールを見つけて、「メールアドレスを確認」をクリックしてください。
4. ページに戻ると、住所が「確認済み」と表示されているはずです。
いくつか注意点があります:
• 未確認のメールアドレスはルーティングルールで使用できません。また、そのメールアドレスを指定しているルールは無効のままとなります。確認メールが届かない場合は、まずスパムフォルダをご確認の上、リストから再送信してください。
• 宛先アドレスは、特定のドメインではなく、お客様のCloudflareアカウントに紐づいています。一度確認すれば、そのアカウント内のすべてのドメインで再利用できます。
• 1つのアカウントにつき最大200件の宛先アドレスを設定できます。これは、個人利用や少人数のチームには十分な数です。ご家族やスタッフにメールを転送するには、同様の方法で相手の実際のメールボックスを確認してください。
カスタム住所を作成する
プライベートアドレスとは、単に「一致するアドレス → 宛先アドレス」という形式のルーティングルールに過ぎません。作成したその瞬間から、そのアドレスでメールを受信できるようになります。別途「アカウント」を設定する必要はありません。
1. **「メールルーティング → ルーティングルール」を開き、「ルーティングルールを作成」**をクリックしてください。
2. メールパターンでは、プレフィックスを入力し、ドメインを選択してください。たとえば、プレフィックスに「hello」、ドメインに「example.com」を指定すると、. となりますhello [at] example [dot] com。
3. アクションをメールに送信に設定し、前のセクションで確認したメールボックスを選択してください。
4. 保存した後、別のメールボックスhello [at] example [dot] comから宛先にテストメッセージを送信してください。数秒から数分以内に、宛先のメールボックスに届くはずです。
5. ビジネス用と個人用のアドレスを分けて管理することで、整理整頓が図れます。各ドメインには最大200件のルーティングルールを設定できますが、これを使い切ることはまずないでしょう。
6. corp.example.com などのサブドメインに独自のメールボックスを設定するには、メールルーティングの 設定 → サブドメイン でそのサブドメインを追加してください。サブドメインではキャッチオール機能はサポートされていないため、ルールを1つずつ作成する必要があります。
CloudflareもGmailと同様に「+」によるサブアドレス機能をサポートしています。宛先が に設定されたメールは、hello@のルールに自動的にhello+shop [at] example [dot] com振り分けられます。どこかに登録する際は、必ずサフィックスを追加してください。そうすれば、受信メールにそのサフィックスが表示され、受信トレイをそのサフィックスでフィルタリングすることで、メッセージの送信元を把握できるようになります。
ルーティングルールを設定する
ルーティングは、一言で言えば、「受信者アドレスをルールと照合し、アクションを実行する」というものです。メールルーティングには、次のような組み込みアクションがあります:
| アクション | 効果 | 適しているのは |
|---|---|---|
| メールで送信する | 認証済みの実際のメールボックスに転送します | 日常の郵便物 |
| 作業員に送信する | 同じアカウント内のカスタムワーカーにメッセージを渡します | 自分でコードを書く、より高度なシナリオ |
| ドロップ | メッセージを黙って破棄します。送信者には配信失敗の通知は届きません。 | 二度と連絡を受けたくない相手 |
受信メッセージには次のような処理が行われます。送信サーバーからCloudflareにメッセージが配信されると、CloudflareはSPF、DKIM、DMARCのチェックを実行し(送信元ドメインのDMARCポリシーに違反したメールは拒否されます)、受信者を設定されたルールと照合した上で、対応するアクションを実行します。 転送の際、Cloudflareはエンベロープ送信者(SRS)を書き換えるため、転送先のメールボックスでは、転送されたメッセージが偽造されたものとして扱われることはありません。
キャッチオールを有効にするには:
1. **「メールルーティング」→「ルーティングルール」**を開きます。
2. Catch-all ルールを見つけて有効にし、「アクティブ」と表示されるようにしてください。
3. アクションを「メールで送信」に設定し、「保存」をクリックしてください。
キャッチオール機能は、ドメイン内の任意のアドレス(プレフィックスのスペルミスがある場合も含みます)宛てに送信されたメールを転送します。優先順位に関しては、明示的に作成された特定のアドレスが優先され、キャッチオール機能は、どのルールにも一致しない場合にのみ適用されます。
一点注意点があります。ルールは1つの宛先のみに指定できます。異なるアドレスを異なるメールボックスに送信するには、それぞれ個別のルールを作成してください。1通のメッセージを複数のメールボックスに同時に配信することは、標準機能ではできませんが、ワーカーを使用すれば可能です。
ルールはいつでも編集、無効化、または削除することができます。あるメールアドレスへのメール受信を一時的に停止したいだけの場合は、ルールを削除するのではなく、無効化してください。
メールを送信する
メールルーティングは受信メールのみを処理します。のようなアドレスからメールを送信するにはhello [at] example [dot] com、BrevoやResendなどのトランザクションメールサービスをご利用ください。受信と送信は個別に設定されるため、送信先のメールボックスは任意のメールボックスに設定可能です。
メニュー名は時々変更されるため、ここでは正確な名称ではなく、機能の内容について説明します。設定画面に実際に表示されている内容に従って操作し、設定が完了したら、試しに数通のメッセージを自分自身に送信してみてください。
トランザクションメールサービス(Brevo、Resendなど)を利用した送信
1. プロバイダーに登録してください。Brevoでは1日あたり300通、Resendでは1ヶ月あたり3,000通(1日あたり100通まで)のメール送信が可能です。Brevoでは、新規アカウントは送信を開始する前に審査が行われます。
2. 送信ドメインを追加してください。ルートドメインではなく、mail.example.com などのサブドメインを使用してください。ルートドメインに MX レコードを設定すると、メールルーティングと競合してしまいます。
3. プロバイダーからは、必要なDNSレコード(所有権の確認、SPF、DKIMなど)が示されています。CloudflareのDNSページで、これらを1つずつ追加し、すべてDNSのみに設定してから、ページに戻って確認してください。
4. 送信者アドレス(例:hello [at] mail [dot] example [dot] com)とSMTPの認証情報を作成してください。
5. Thunderbird や Apple Mail などのメールクライアント、あるいはウェブアプリで SMTP を設定してください。Resend では、ポート 587 の smtp.resend.com を使用し、ユーザー名は「resend」、パスワードには API キーを入力します。 Brevoでは、ポート587のsmtp-relay.brevo.comを使用し、アカウントのメールアドレスとSMTPキーを指定します。返信を個人のメールアドレスに受け取るには、「Reply-To」を に設定してくださいhello [at] example [dot] com。そうすることで、返信はCloudflareを経由して、宛先のメールボックスに届きます。
送信する前に知っておくべき点がいくつかあります:
• メッセージは実際にはプロバイダーのサーバーから送信されるため、Outlookなどの一部のクライアントでは、「代理で」または「経由」という表示が出る場合があります。 ドメインごとにSPFレコードは1つしか設定できませんので、プロバイダーから求められた「include」を、Cloudflareのレコードの隣に統合してください。例えば、v=spf1 include:_spf.mx.cloudflare.net include:provider.example ~all のようにし、プロバイダーのドキュメントに記載されている値を正確に反映させてください。
• お使いのドメインに厳格なDMARCポリシー(例:p=reject)が設定されている場合、送信ドメインが一致しないとき、送信されたメールが拒否される可能性があります。この設定を個人利用で試す間は、DMARCを緩やかな設定(p=none)にしておき、しばらく配信状況を観察してから、後で厳格化するようにしてください。
• Gmail、Outlook、Yahooなどの大手メールサービスプロバイダーは、新しいドメインや初めての送信者に対してより厳しい基準を設けています。そのため、最初の数通のメールはスパムフォルダに振り分けられてしまう可能性があります。受信者の方に、あなたのアドレスを連絡先に登録してもらい、何度か通常のメールをやり取りしてもらうようお願いしてください。そうすれば、時間の経過とともに配信状況は安定してきます。
Cloudflareには独自のメール送信機能もあります(Compute → Email Service → Email Sending)。確認したところ、SMTPではなくREST APIまたはWorkerを介して送信されるため、メールアプリのワークフローには適合しません。今後変更される可能性もありますので、最新のドキュメントをご確認ください。
実際には
これを設定した後の最大の変化は、自由が得られたことです。アドレスが不足することはなくなり、ストレージ容量を気にする必要もなくなりました。以下に、私が実際に日常的に活用している3つの方法をご紹介します。
登録用の使い捨てメールアドレス
キャッチオールが有効になっていると、ドメインには無制限のアドレスが割り当てられます。登録するサイトやサービスごとに、その場で一意のプレフィックスを自由に決めてください。あらかじめ作成しておく必要はありません:
• クラウドサービス向けcloudvendor [at] example [dot] com
• フォーラムforum-2026 [at] example [dot] com用
• 1回限りの確認の場合x7k2q [at] example [dot] com
これらはすべて同じ実際の受信箱に届くため、確認コードや有効化リンクも通常通り届きます。これには3つの利点があります:
1. 情報漏洩の原因を特定することができます。 サイトがハッキングされたり、サービス提供者がお客様のアドレスを販売したりした場合、プレフィックスからその原因が誰であるかが分かります。
2. 管理はご自身で可能です。 あるプレフィックスに迷惑メールが集まり始めたら、そのプレフィックス専用の拒否ルールを設定するだけで済みます。他のアドレスには一切手を加える必要はありません。
3. メインのメールアドレスは非公開のままです。 公開登録では使い捨てのメールアドレスを使用するため、本物のメールアドレスが他人のデータベースに登録されることはありません。
サイトごとに1つのアドレスを使用し、一貫性のある「サービス名+ランダムな文字列」という形式を採用することをお勧めします。理想的には、パスワードマネージャーで生成されたものを使用してください。
アドレスごとに承認または拒否する
しばらくすると、一部の使い捨てアドレスは、どうしてもスクレイピングされたり、広告主に販売されたりしてしまいます。そこで「アドレスごとのルーティング」が役立ちます。つまり、アドレスごとに異なる処理を適用するのです。
1. 特定のメールボックスに受信する
目的ごとに個別のルールを作成し、それぞれを異なる実際のメールボックスに転送するように設定してください。例えば、billing@ は経理担当者のメールボックスへ、admin@ はご自身の業務用メールボックスへ、support@ はパートナーのメールボックスへ転送されます。各転送先が適切に確認されていれば、1つのドメインで小規模なチームの受信メールを処理することができます。
2. 特定のアドレスを拒否する
これを行うには2つの方法があり、その結果は異なります:
| 方法 | 送信者が目にする内容 | こんな方に最適です |
|---|---|---|
| そのアドレスに対して独自のルールを設定し、アクションを「ドロップ」に設定してください | 何もありません。メッセージは黙って破棄されます。 | 絶対に見たくない広告専用のアドレス |
| 「catch-all」を無効にし、必要なアドレスのみを残してください | そのアドレスは存在しないというエラーメッセージが表示されました | 住所が定まり、使い捨ての住所をもう作り出さなくなったら |
特定のアドレスを拒否する場合: 「ルーティングルール」で、拒否したいアドレスを追加し、アクションを**「ドロップ」**に設定して保存してください。特定のアドレスに対するルールはキャッチオールルールよりも優先されるため、キャッチオールルールが有効な状態であっても、そのプレフィックスはドロップされます。
「許可リスト」の考え方でセキュリティを強化する: 普段使用するメールアドレスが定まったら、キャッチオールを無効にし、ルールを設定したメールアドレスだけを残しておきましょう。 それ以外のアドレス宛てのメールは返送されるため、承認済みのアドレスからのみメールが届くようになります。これは前述の使い捨てアドレスとは異なる考え方です。「キャッチオール」を有効にしておくのが最も自由度が高く、「キャッチオール」を無効にしておくのが受信トレイを最もすっきりさせることができます。必要に応じて、この2つの設定を切り替えることが可能です。
スパムのフィルタリング
迷惑メールは、受信トレイに届く前に、メールルーティングに組み込まれたいくつかのチェックを経ます。その中には完全に自動化されているものもあれば、ダッシュボードで数回クリックするだけで設定できるものもあります。いずれもコードを書く必要はありません。
1. 送信者認証(自動)。 Cloudflareでは、受信するすべてのメッセージについて、SPF、DKIM、DMARCの検証を行います。検証に失敗し、かつDMARCポリシーで拒否が指定されているドメインからのメールは、この段階で拒否され、お客様のルールに到達することはありません。送信者を偽装したスパムの多くは、この段階で阻止されます。
2. リアルタイムのブロックリスト(自動)。 既知のスパムブロックリストに掲載されているIPアドレスからの配信は拒否されます。
3. アドレス単位の設定(ご自身で設定します)。 迷惑メールの標的となっているアドレスに対して、そのメールを破棄するルールを設定してください。
4. 宛先メールボックスのスパムフィルター。 メールがGmailに転送された後も、Gmailのスパムフィルターによるチェックが行われます。この機能を有効にしたままにし、Gmailの設定でブロックリストや許可リストを管理してください。
さらに一歩進んで:その他のコツ
組み込みのルールは日常的なニーズに対応していますが、受信者アドレスでのみ照合が可能です。設定やメンテナンスに少し手間をかけることを厭わないのであれば、よりきめ細かなオプションも利用できます。その効果は次のようになります:
• 理由を明記してバウンスされます。 使用されなくなったアドレスは、もはや黙って破棄されることはありません。送信者には「そのアドレスは使用されなくなりました」という旨のバウンス通知が届くため、正当な送信者はメーリングリストを整理することができます。
• ブロックリストの一括管理。 使用停止となったプレフィックスはすべて1つのリストにまとめられています。1つ追加する場合、その都度ダッシュボードでルールを作成するのではなく、1つのエントリを追加するだけで済みます。
• 許可リストとキャッチオールを併用します。 一時的なアドレスを自由に作成できる自由度を維持しつつ、承認したアドレスのみを通し、それ以外は拒否します。
• 送信者の信頼性によるフィルタリング。 送信者アドレスに「@」が含まれていない、ドメインが不完全である、または空欄であるメールは、即座にブロックされ、後日確認できるよう記録が残されます。これにより、認証は通過したものの、依然として不審なメールを捕捉することができます。
• 1通のメッセージを複数のメールボックスに送信できるほか、自動返信やキーワードに基づく仕分け・アーカイブ機能もご利用いただけます。
• 完全に非公開のアドレスでの送信。 返信も新規メッセージも、送信者としてご自身のドメインのアドレス(例:hello [at] example [dot] com)のみが表示され、第三者の送信サービスの痕跡や「代理送信」の表示は一切ありません。 返信には、メッセージを受信したアドレスが自動的に使用されるため、配信の安定性が高まります。
これらのほとんどはWorkersを基盤としており、追加の設定やメンテナンスが必要となります。ご興味がおありでしたら、コメントを残していただければ、詳しくお話ししましょう。
まとめと限界
受信はCloudflare Email Routingを経由し、すべてのメールはご自身のメールボックスに届きます。送信については、別のメールサービスを利用します。 受信は完全に無料です。制限はなく、アドレスをいくつでも作成でき、特定のメールボックスプロバイダーのストレージ容量やアカウント規定に縛られることもありません。その代わり、Email Routingは本質的に転送サービスであるため、以下の制限事項にご留意ください:
• 受信専用です。 メールルーティング機能では送信は行われません。送信にはトランザクションメールサービスを利用します。宛先として、どのメールボックスでも指定可能です。
• 1メッセージあたり25 MiBまでです。 これを超えるメッセージは配信時に拒否されます。大容量の添付ファイルは、ファイル共有サービスやオブジェクトストレージサービスからのリンクとして共有してください。
• 数量制限がございます。 ドメインごとに200件のルーティングルール、アカウントごとに200件の宛先アドレスまでとなります。
• ウェブメール機能はありません。 メールは実際に宛先のメールボックスに届き、そこで閲覧、アーカイブ、検索、送信を行うことができます。後で宛先のメールボックスを変更したい場合は、ルール内の宛先アドレスを変更するだけで結構です。