【完全無料】Cloudflare+Resendを使ってメールの送受信をする方法

twitterの驚き屋が送信関係で間違った情報を広めてバズっているため、ちゃんとやり方を説明します。

受信

受信はCloudflare Email Routingを使用します。SMTPプロトコルで転送しているためGmailのPOP3サービス終了問題はなんら関係ないです。ドメインはCloudflareで買うか移管してください。

送信

ここがちゃんとやらないとダメなところですね。
驚き屋が適当に言っていたsmtp.gmail.com経由だとSPF設定の問題やDKIM署名の問題などがあり絶対にダメです。せっかく送信したメールが迷惑メールに入れられます。

かといってこれのためにさくらのメールサーバーとか契約するのも完全無料じゃなくなります。ということで無料メールサーバーのResendを挟みましょう。

イメージは
Gmailでメール作成→ResendでSMTPをリレー→CloudflareでDNSを認証→受信者に到達
といった感じです。欠点は無料プランだと1日100通までということですが、そこまで送信する人はいないと思います。
使う?あ、、、ごめんなさい。そういう方は素直にworkspaceを契約した方がいいです。

Resendの設定

アカウントを作成するとこのような画面になると思います。

右側のリストからDomainsを選択しましょう。Add Domainというボタンがあると思うので押下します。
するとこのような画面に移ると思います。
Nameには自分のドメインを入力します。サブドメイン入りでEmail Routingを設定してるならそれで。してなかったら抜きでも大丈夫です。
RegionはTokyoで大丈夫です。設定したらAdd Domainを押下。
するとこの画面が表示されるので、Sign in to Cloudflareを選択し、DNSレコードを追加しましょう。
STATUSがVerifiedになれば設定完了です。

APIキーの設定に移ります。
リストからAPI Keysを選択してCreate API Keyを押下。このような画面になったらこの通り設定します。
Nameはお好みの名前を書いて、ParmissionをSending accessにし、Domainを設定した自分のドメインにします。

作成するとAPIKeyが表示されるのでコピーして保存しておきましょう。これでResendの設定は終わりです。

Gmailの設定

Gmailの設定からアカウントとインポート→他ののメールアドレスを追加を選択します。このような画面になるので名前と設定したいメールアドレスを書きます。

次の画面ではこのように設定します。SMTP サーバーとポートとユーザー名はこれに設定し、パスワードに先ほどのAPIKeyを入力してアカウントを追加を押してください。
最後に確認メールが届くので承認しましょう。これで設定は完了です。 試しに設定したアドレスから自分のgmailあてに送信してみます。
ちゃんと来てますね。お疲れさまでした。

注意

Resendの無料プランは1人1ドメインしか登録できないので注意してください。ドメインを変える場合は既存の登録しているものを消す必要があります。

あとがき

今回はCloudflareを使った無料のメール送受信方法を解説しました。
今回端折りましたがCloudflare Email Rootingによる受信方法に関しては他の方の記事を参考に設定してみてください。Cloudflareのダッシュボード上で簡単に設定できます。
このあたりの記事が参考になると思います↓