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

#Cloudflare#Gmail#プログラミング#解説
投稿日:
サムネイル

これは、CloudflareとGmail、Resendを使ってメールを送受信する方法の解説記事です。

この記事で実現すること

この記事では、次のことを無料で実現する方法を解説します。

前提条件

この記事を実行するためには、次の前提条件を満たしていることを前提としています。

Resendのアカウントを作成

まずは、Resendのアカウントを作成します。Resendの公式サイトを開き、[Get Started]をクリックします。

Resendのトップページのスクリーンショット

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

Resendアカウントの作成ページのスクリーンショット

確認メールが届くので、そのメールに記載のリンクからログインします。

Resendにドメインを登録

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

Resendのダッシュボードのスクリーンショット

ダイアログが表示されるので、[Domain]に使用したいドメインを入力し、[Add]をクリックします。[Region]はメールの送信に使用するサーバーの地域です。無料プランでは[Region]を変更できないので、そのままにしておきます。

[Add Domain]ダイアログのスクリーンショット

ドメインの登録が完了したら、DNSレコードを設定します。Resendのダッシュボードに表示されるDNSレコードを、CloudflareのDNSの設定画面で追加します。なお、[Type]がMX、[Name]がsendのDNSレコードの[Priority]は10に設定しますが、DNSの設定ですでに10のMXレコードが存在する場合は、1112など、10より大きな値を設定します。

Resendのドメイン管理画面

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

Resendのドメイン管理画面
DNSレコードの検証中の画面
Resendのドメイン管理画面
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]タブのスクリーンショット

ダイアログで、[Name]には任意の名前を指定します。スクリーンショットでは、使用するメールアドレスを[Name]に入力していますが、メールアドレスである必要はありません。[Permissions]は[Full access]を選択します。[Add]をクリックすると、APIキーが表示されます。

APIキーは一度しか表示されないため、コピーして安全な場所に控えておいてください。

Resendの[Add API Key]ダイアログのスクリーンショット

CloudflareのEmail Routingを設定

Cloudflareのダッシュボードで、使用するドメインの設定を開き、[メールアドレス]>[Email Routing]を開きます。

[ルーティングルール]タブの[アドレスを作成]から、作成したいメールアドレスと、そのメールの転送先(Gmailアドレス)を指定します。[アクション]は[メールに送信]を選択します。

Gmailに独自ドメインのメールアドレスを追加

先ほど転送先に指定したGmailアカウントをGmailのWebクライアントで開きます。右上の設定アイコンから[すべての設定を表示]をクリックし、Gmailの設定を開きます。

設定の[アカウントとインポート]タブの[名前:]から[他のメールアドレスを追加]をクリックします。

[名前]にはメールに表示される任意のアカウント名を入力し、メールアドレスには先ほどCloudflareで作成したメールアドレスを入力します。[次のステップ]をクリックします。

Gmailの[自分のメールアドレスを追加]ダイアログのスクリーンショット

SMTPサーバーの設定画面が表示されます。この画面では、Resendの[Settings]>[SMTP]タブの情報を入力します。[SMTPサーバー]にはResendの[Host]の値、[ユーザー名]にはResendの[User]の値、[パスワード]には先ほど作成したResendのAPIキーを入力します。

暗号化された通信を使ってメールの送受信をしたい場合は、[ポート]に2465587、または2587のいずれかを指定します。[変更を保存]をクリックします。

GmailのメールアドレスのSMTPサーバーの設定画面
ResendのSMTPの情報の画面

メールの送受信の方法

これで、メールの送受信ができるようになりました。

Cloudflareで作成したメールアドレスにメールを送信すると、指定したGmailアドレスに転送されます。

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

Gmailのメール作成画面のスクリーンショット

試しにResend経由で、自分の所有するメールアドレスにメールを送信してみましょう。受信側でメールを受け取れたら、[メッセージのソースを表示]でSPF、DKIM、DMARCがいずれもPASSになっていることを確認します。

SPF、DKIM、DMARCがいずれも[PASS]になっていることを示す画面

まとめ

この記事では、CloudflareとGmail、Resendを使ってメールを送受信する方法を解説しました。

独自ドメインのメールアドレスを作成し、そのメールアドレスに着信したメールをGmailに転送します。また、GmailのWebクライアントを使って、Resend経由でメールを送信または返信できます。さらに、SPF、DKIM、DMARCの設定をすることで、メールの送信元の信頼性を高められます。

参考

Twitterのアイコン LINEのアイコン Threadsのアイコン Misskeyのアイコン Misskeyのアイコン
著者のアイコン画像

生まれた時から、母国語よりも先にJavaScriptを使っていました。ネットの海のどこにもいなくてどこにでもいます。

Webフロントエンドプログラマーで、テクノロジーに関する話題を追いかけています。動画編集やプログラミングが趣味で、たまにデザインなどもやっています。