前提と注意事項
以下が前提と注意事項になります。
- Resend のアカウントと API キーは作成済みとします。
- 設定する独自ドメインの DNS レコードを各自が利用しているドメインサービスで設定できる必要があります。
- 動作確認のために cURL コマンドを使用します。
もし Resend のアカウントと API キーを持っていない場合は、以下の手順をまとめていますので必要な方は参考にしてみてください。
この記事のゴール
Resend で独自ドメインを設定し、 cURL コマンドを使って設定した独自ドメインのメールアドレスを送信元としたメールを送信するところまでを解説します。
Resend で独自ドメインを設定する
まずResendにログインして、以下のようにサイドメニューのDomains
をクリックします。
サイドメニューのDomains
をクリックすると、以下のように独自ドメイン設定用のページに遷移するのでAdd domain
をクリックします。
Add domain
をクリックすると、以下のように設定する独自ドメインの入力フォームとリージョンの選択フォームが表示されるので、それぞれ入力、選択します。
記事公開時点では、選択できるリージョンは以下の3つのみです。リージョンはユーザーのなるべく近い場所を選択するほどユーザーにメールが到達までの時間が短くなり良いですが、現在は以下の3つしなく、無料プランではNorth Virginia (us-east-1)
のみ選択可能なため、North Virginia (us-east-1)
を選択します。
- North Virginia (us-east-1)
- Ireland (eu-west-1)
- Sao Paulo (sa-east-1)
Add
をクリックすると、以下のように設定した独自ドメインの DNS レコードが表示されます。
MX
レコード1つと、TXT
レコード2つが表示されます。この3つの DNS レコードを自身が取得した独自ドメインの管理画面などで DNS レコードに追加します。
ドメインサービスに Resend の DNS レコードを追加する
私は Google Domains(Squarespace 社が 2023 年 9 月 7 日に買収)で取得した独自ドメインを Resend で使用するために、以下のように3つの DNS レコードを Google Domains に登録しました。 この作業は各自が使用しているドメインサービスによって異なりますが、必要なのは Resend で表示された3つの DNS レコードをドメインサービスに登録することです。
ドメインサービスに Resend の DNS レコードを追加したら、Resend に戻ってVerify DNS Records
をクリックして DNS レコードが正しくドメインサービスに追加されたか検証を開始します。
Verify DNS Records
をクリックすると、以下のように検証が開始され、3つの DNS レコードのステータスがPending
になります。
検証は数分から数時間かかるようです。検証が完了した場合はアカウントのメールアドレスに検証完了の通知メールが送信されると記載されていますが、私の場合は検証完了してもメールは届きませんでした。
私の環境ではおおよそ10分ほどで検証が完了し、以下のようにステータスがVerified
に更新されました。
動作確認
cURL コマンドを使用して設定した独自ドメインをfrom
に指定してメールを送信してみます。
ここでは、以下のようにこのサイトの独自ドメインritaiz.com
をfrom
に指定してメールを送信しています。
$ curl -X POST 'https://api.resend.com/emails' \
-H 'Authorization: Bearer re_**********************' \
-H 'Content-Type: application/json' \
-d $'{
"from": "[email protected]",
"to": "[email protected]",
"subject": "Hello World",
"html": "<p>Congrats on sending your <strong>first email</strong>!</p>"
}'
{"id":"007ff9d1-b211-37d2-2819-66b104ce9d5e"}%
設定済みの独自ドメインをfrom
に指定していれば上記のように送信したメールの ID がレスポンスとして返ってきます。しかしもし未設定の独自ドメインを指定した場合は以下のようなエラーがレスポンスとして返ってきます。
{"statusCode":400,"message":"The ritaiz.com domain is not verified. Please, add and verify your domain on https://resend.com/domains","name":"validation_error"}
まとめ
Resend で独自ドメインを使うための設定について解説しました。他のサービスと同様に簡単に設定でき、自分が持つ独自ドメインを使い始めることができます。ただし、記事公開時点では無料プランでは1つの独自ドメインしか設定できません。2つ以上の独自ドメインを使用したい場合は、有料プランにアップグレードする必要があります。