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]を変更できないので、そのままにしておきます。
ドメインの登録が完了したら、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]をクリックします。
ダイアログで、[Name]には任意の名前を指定します。スクリーンショットでは、使用するメールアドレスを[Name]に入力していますが、メールアドレスである必要はありません。[Permissions]は[Full access]を選択します。[Add]をクリックすると、APIキーが表示されます。
APIキーは一度しか表示されないため、コピーして安全な場所に控えておいてください。
CloudflareのEmail Routingを設定
Cloudflareのダッシュボードで、使用するドメインの設定を開き、[メールアドレス]>[Email Routing]を開きます。
[ルーティングルール]タブの[アドレスを作成]から、作成したいメールアドレスと、そのメールの転送先(Gmailアドレス)を指定します。[アクション]は[メールに送信]を選択します。
Gmailに独自ドメインのメールアドレスを追加
先ほど転送先に指定したGmailアカウントをGmailのWebクライアントで開きます。右上の設定アイコンから[すべての設定を表示]をクリックし、Gmailの設定を開きます。
設定の[アカウントとインポート]タブの[名前:]から[他のメールアドレスを追加]をクリックします。
[名前]にはメールに表示される任意のアカウント名を入力し、メールアドレスには先ほどCloudflareで作成したメールアドレスを入力します。[次のステップ]をクリックします。
SMTPサーバーの設定画面が表示されます。この画面では、Resendの[Settings]>[SMTP]タブの情報を入力します。[SMTPサーバー]にはResendの[Host]の値、[ユーザー名]にはResendの[User]の値、[パスワード]には先ほど作成したResendのAPIキーを入力します。
暗号化された通信を使ってメールの送受信をしたい場合は、[ポート]に2465
、587
、または2587
のいずれかを指定します。[変更を保存]をクリックします。
メールの送受信の方法
これで、メールの送受信ができるようになりました。
Cloudflareで作成したメールアドレスにメールを送信すると、指定したGmailアドレスに転送されます。
メールを受け取ったGmailアカウントでは、メールの[差出人]で、先ほど追加したメールアドレスを選択して返信します。これにより、Resendを経由してメールが送信されます。
試しにResend経由で、自分の所有するメールアドレスにメールを送信してみましょう。受信側でメールを受け取れたら、[メッセージのソースを表示]でSPF、DKIM、DMARCがいずれもPASS
になっていることを確認します。
まとめ
この記事では、CloudflareとGmail、Resendを使ってメールを送受信する方法を解説しました。
独自ドメインのメールアドレスを作成し、そのメールアドレスに着信したメールをGmailに転送します。また、GmailのWebクライアントを使って、Resend経由でメールを送信または返信できます。さらに、SPF、DKIM、DMARCの設定をすることで、メールの送信元の信頼性を高められます。