Cloudflare Email RoutingとResendでメールを無料で送受信する方法

これは、CloudflareとGmail、Resendを使ってメールを送受信する方法の解説記事です。
この記事で実現すること
この記事では、次のことを無料で実現する方法を解説します。
- 独自ドメインのメールアドレスを作成する
- そのメールアドレスに着信したメールをGmailに転送する
- GmailのWebクライアントを使って、Resend経由でメールを送信または返信する
- SPF、DKIM、DMARCの設定をする
前提条件
この記事を実行するためには、次の前提条件を満たしていることを前提としています。
- 独自ドメインを所有している
- Cloudflareでそのドメインを管理している
Resendのアカウントを作成
まずは、Resendのアカウントを作成します。Resendの公式サイトを開き、[Get Started]をクリックします。

アカウントの作成画面が表示されるので、メールアドレスでアカウントを作成するか、GitHubアカウントまたはGoogleアカウントでログインします。

確認メールが届くので、そのメールに記載のリンクからログインします。
Resendにドメインを登録
次に、使用したい独自ドメインをResendに登録します。Resendのダッシュボードにログインし、[Domains]タブから[Add domain]をクリックします。

ダイアログが表示されるので、[Domain]に使用したいドメインを入力し、[Add]をクリックします。[Region]はメールの送信に使用するサーバーの地域です。無料プランでは[Region]を変更できないので、そのままにしておきます。
![[Add Domain]ダイアログのスクリーンショット](/_next/image?url=%2Fapi%2Fmedia%2Ffile%2Fresend-domain-registration-1.png&w=3840&q=75)
ドメインの登録が完了したら、DNSレコードを設定します。Resendのダッシュボードに表示されるDNSレコードを、CloudflareのDNSの設定画面で追加します。なお、[Type]がMX
、[Name]がsend
のDNSレコードの[Priority]は10
に設定しますが、DNSの設定ですでに10
のMXレコードが存在する場合は、11
や12
など、10
より大きな値を設定します。

DNSレコードを追加したら、右上の[Verify DNS Records]をクリックします。DNSレコードが正しいかどうかの検証が始まり、しばらく待つと検証が完了します。


これで、Resendへのドメインの登録と、SPF、DKIM、DMARCの設定が完了しました。
SPFポリシーを「Fail」に設定したい場合(自分のドメインになりすまして送信されたメールの受信が拒否されるようにしたい場合)は、[type]がTXT
、[Host / Name]がsend
のDNSレコードの値のうち、~all
となっている部分を-all
に変更します。
また、DMARCポリシーを「Reject」に設定したい場合(自分のドメインになりすまして送信されたメールの受信が拒否されるようにしたい場合)は、[type]がTXT
、[Host / Name]が_dmarc
のDNSレコードの値のうち、p=none;
となっている部分をp=reject;
に変更します。
_dmarc
には、任意でpct=100;
を追加して、100%のメールをDMARCでチェックするように設定できます。何も指定しない場合はデフォルトで100%なので、明示的に指定しなくても問題ありません。
ResendのAPIキーを取得
ResendのAPIキーを取得します。Resendのダッシュボードの[API Keys]タブを開き、[Create API Key]をクリックします。
![Resendのダッシュボードの[API Keys]タブのスクリーンショット](/_next/image?url=%2Fapi%2Fmedia%2Ffile%2Fresend-api-keys-1.png&w=3840&q=75)
ダイアログで、[Name]には任意の名前を指定します。スクリーンショットでは、使用するメールアドレスを[Name]に入力していますが、メールアドレスである必要はありません。[Permissions]は[Full access]を選択します。[Add]をクリックすると、APIキーが表示されます。
APIキーは一度しか表示されないため、コピーして安全な場所に控えておいてください。
![Resendの[Add API Key]ダイアログのスクリーンショット](/_next/image?url=%2Fapi%2Fmedia%2Ffile%2Fresend-api-keys-dialog-1.png&w=3840&q=75)
CloudflareのEmail Routingを設定
Cloudflareのダッシュボードで、使用するドメインの設定を開き、[メールアドレス]>[Email Routing]を開きます。
[ルーティングルール]タブの[アドレスを作成]から、作成したいメールアドレスと、そのメールの転送先(Gmailアドレス)を指定します。[アクション]は[メールに送信]を選択します。
Gmailに独自ドメインのメールアドレスを追加
先ほど転送先に指定したGmailアカウントをGmailのWebクライアントで開きます。右上の設定アイコンから[すべての設定を表示]をクリックし、Gmailの設定を開きます。
設定の[アカウントとインポート]タブの[名前:]から[他のメールアドレスを追加]をクリックします。
[名前]にはメールに表示される任意のアカウント名を入力し、メールアドレスには先ほどCloudflareで作成したメールアドレスを入力します。[次のステップ]をクリックします。
![Gmailの[自分のメールアドレスを追加]ダイアログのスクリーンショット](/_next/image?url=%2Fapi%2Fmedia%2Ffile%2Fgmail-add-mail-address-1.png&w=3840&q=75)
SMTPサーバーの設定画面が表示されます。この画面では、Resendの[Settings]>[SMTP]タブの情報を入力します。[SMTPサーバー]にはResendの[Host]の値、[ユーザー名]にはResendの[User]の値、[パスワード]には先ほど作成したResendのAPIキーを入力します。
暗号化された通信を使ってメールの送受信をしたい場合は、[ポート]に2465
、587
、または2587
のいずれかを指定します。[変更を保存]をクリックします。


メールの送受信の方法
これで、メールの送受信ができるようになりました。
Cloudflareで作成したメールアドレスにメールを送信すると、指定したGmailアドレスに転送されます。
メールを受け取ったGmailアカウントでは、メールの[差出人]で、先ほど追加したメールアドレスを選択して返信します。これにより、Resendを経由してメールが送信されます。

試しにResend経由で、自分の所有するメールアドレスにメールを送信してみましょう。受信側でメールを受け取れたら、[メッセージのソースを表示]でSPF、DKIM、DMARCがいずれもPASS
になっていることを確認します。
![SPF、DKIM、DMARCがいずれも[PASS]になっていることを示す画面](/_next/image?url=%2Fapi%2Fmedia%2Ffile%2Fgmail-message-source-1.png&w=3840&q=75)
まとめ
この記事では、CloudflareとGmail、Resendを使ってメールを送受信する方法を解説しました。
独自ドメインのメールアドレスを作成し、そのメールアドレスに着信したメールをGmailに転送します。また、GmailのWebクライアントを使って、Resend経由でメールを送信または返信できます。さらに、SPF、DKIM、DMARCの設定をすることで、メールの送信元の信頼性を高められます。
参考
おすすめアイテム
※このリンクを経由して商品を購入すると、当サイトの運営者が報酬を得ることがあります。詳細はこちら。
このサイトを支援する
Buy Me a CoffeeまたはGitHub Sponsorsで支援していただけると、サイトの運営やコンテンツ制作の励みになります。定期的な支援と一度限りの支援がありますので、お間違いのないようにお願いします。
-1.png&w=256&q=75)
生まれた時から、母国語よりも先にJavaScriptを使っていました。ネットの海のどこにもいなくてどこにでもいます。
Webフロントエンドプログラマーで、テクノロジーに関する話題を追いかけています。動画編集やプログラミングが趣味で、たまにデザインなどもやっています。主にTypeScriptを使用したWebフロントエンド開発を専門とし、便利で実用的なブラウザー拡張機能を作成しています。また、個人ブログを通じて、IT関連のニュースやハウツー、技術的なプログラミング情報を発信しています。