Cloudflare Email RoutingとResendでメールを無料で送受信する方法
![サムネイル](/_astro/resend-top-page.DAEMM_j1_ZxaFQW.png)
これは、CloudflareとGmail、Resendを使ってメールを送受信する方法の解説記事です。
この記事で実現すること
この記事では、次のことを無料で実現する方法を解説します。
- 独自ドメインのメールアドレスを作成する
- そのメールアドレスに着信したメールをGmailに転送する
- GmailのWebクライアントを使って、Resend経由でメールを送信または返信する
- SPF、DKIM、DMARCの設定をする
前提条件
この記事を実行するためには、次の前提条件を満たしていることを前提としています。
- 独自ドメインを所有している
- Cloudflareでそのドメインを管理している
Resendのアカウントを作成
まずは、Resendのアカウントを作成します。Resendの公式サイトを開き、[Get Started]をクリックします。
![Resendのトップページのスクリーンショット](/_astro/resend-top-page.DAEMM_j1_ZW88qs.webp)
アカウントの作成画面が表示されるので、メールアドレスでアカウントを作成するか、GitHubアカウントまたはGoogleアカウントでログインします。
![Resendアカウントの作成ページのスクリーンショット](/_astro/create-resend-account.BGh8tvTw_27gU5D.webp)
確認メールが届くので、そのメールに記載のリンクからログインします。
Resendにドメインを登録
次に、使用したい独自ドメインをResendに登録します。Resendのダッシュボードにログインし、[Domains]タブから[Add domain]をクリックします。
![Resendのダッシュボードのスクリーンショット](/_astro/resend-dashboard.DJgu43jK_2hbiuH.webp)
ダイアログが表示されるので、[Domain]に使用したいドメインを入力し、[Add]をクリックします。[Region]はメールの送信に使用するサーバーの地域です。無料プランでは[Region]を変更できないので、そのままにしておきます。
![[Add Domain]ダイアログのスクリーンショット](/_astro/resend-domain-registration.Dc-UTaMk_26vq75.webp)
ドメインの登録が完了したら、DNSレコードを設定します。Resendのダッシュボードに表示されるDNSレコードを、CloudflareのDNSの設定画面で追加します。なお、[Type]がMX
、[Name]がsend
のDNSレコードの[Priority]は10
に設定しますが、DNSの設定ですでに10
のMXレコードが存在する場合は、11
や12
など、10
より大きな値を設定します。
![Resendのドメイン管理画面](/_astro/resend-domain-dashboard.-c7xQpS6_ZSY9jD.webp)
DNSレコードを追加したら、右上の[Verify DNS Records]をクリックします。DNSレコードが正しいかどうかの検証が始まり、しばらく待つと検証が完了します。
![Resendのドメイン管理画面](/_astro/resend-domain-dashboard-pending.Ca84dq3m_Znz3Tn.webp)
![Resendのドメイン管理画面](/_astro/resend-domain-dashboard-verified.UYPwEbyX_ZqKFHK.webp)
これで、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]タブのスクリーンショット](/_astro/resend-api-keys.G3YPA4UW_1nmsXl.webp)
ダイアログで、[Name]には任意の名前を指定します。スクリーンショットでは、使用するメールアドレスを[Name]に入力していますが、メールアドレスである必要はありません。[Permissions]は[Full access]を選択します。[Add]をクリックすると、APIキーが表示されます。
APIキーは一度しか表示されないため、コピーして安全な場所に控えておいてください。
![Resendの[Add API Key]ダイアログのスクリーンショット](/_astro/resend-api-keys-dialog.DTb_Rv2c_Qd8I0.webp)
CloudflareのEmail Routingを設定
Cloudflareのダッシュボードで、使用するドメインの設定を開き、[メールアドレス]>[Email Routing]を開きます。
[ルーティングルール]タブの[アドレスを作成]から、作成したいメールアドレスと、そのメールの転送先(Gmailアドレス)を指定します。[アクション]は[メールに送信]を選択します。
Gmailに独自ドメインのメールアドレスを追加
先ほど転送先に指定したGmailアカウントをGmailのWebクライアントで開きます。右上の設定アイコンから[すべての設定を表示]をクリックし、Gmailの設定を開きます。
設定の[アカウントとインポート]タブの[名前:]から[他のメールアドレスを追加]をクリックします。
[名前]にはメールに表示される任意のアカウント名を入力し、メールアドレスには先ほどCloudflareで作成したメールアドレスを入力します。[次のステップ]をクリックします。
![Gmailの[自分のメールアドレスを追加]ダイアログのスクリーンショット](/_astro/gmail-add-mail-address.D-6uacrW_Z1TeHEx.webp)
SMTPサーバーの設定画面が表示されます。この画面では、Resendの[Settings]>[SMTP]タブの情報を入力します。[SMTPサーバー]にはResendの[Host]の値、[ユーザー名]にはResendの[User]の値、[パスワード]には先ほど作成したResendのAPIキーを入力します。
暗号化された通信を使ってメールの送受信をしたい場合は、[ポート]に2465
、587
、または2587
のいずれかを指定します。[変更を保存]をクリックします。
![GmailのメールアドレスのSMTPサーバーの設定画面](/_astro/gmail-smtp-server-settings.CQIRZiXK_220NnI.webp)
![ResendのSMTPの情報の画面](/_astro/resend-smtp-server-settings.Cb7r6kLn_Zl4hhR.webp)
メールの送受信の方法
これで、メールの送受信ができるようになりました。
Cloudflareで作成したメールアドレスにメールを送信すると、指定したGmailアドレスに転送されます。
メールを受け取ったGmailアカウントでは、メールの[差出人]で、先ほど追加したメールアドレスを選択して返信します。これにより、Resendを経由してメールが送信されます。
![Gmailのメール作成画面のスクリーンショット](/_astro/gmail-new-message-draft.C3ZU8QFS_Z2m3XE.webp)
試しにResend経由で、自分の所有するメールアドレスにメールを送信してみましょう。受信側でメールを受け取れたら、[メッセージのソースを表示]でSPF、DKIM、DMARCがいずれもPASS
になっていることを確認します。
![SPF、DKIM、DMARCがいずれも[PASS]になっていることを示す画面](/_astro/gmail-message-source.Ct3Btxzf_Z9vCfF.webp)
まとめ
この記事では、CloudflareとGmail、Resendを使ってメールを送受信する方法を解説しました。
独自ドメインのメールアドレスを作成し、そのメールアドレスに着信したメールをGmailに転送します。また、GmailのWebクライアントを使って、Resend経由でメールを送信または返信できます。さらに、SPF、DKIM、DMARCの設定をすることで、メールの送信元の信頼性を高められます。