Loading...

2023-11-07(火) 15:00

✉️ メール配信サービスのResendを試す

Resend
開発者のためのメール配信サービスとして展開しているResendを使ってメール送信するまでの手順を解説します。

目次

前提と注意事項

以下が前提と注意事項になります。

  • メール送信に cURL コマンドを使用します。
  • Resend そのものについての特徴や解説はしていません。

この記事のゴール

この記事では、メール配信サービスのResendのアカウントを作成し、Resend の API 経由で cURL コマンドを使ってメールを送信してみるところまでを解説します。
Resend は他のメール配信サービスの SendGrid や Mailgun に比べると新しいサービスですが、十分な機能を持ち、有料プランも他のサービスと比べて安価になる場合があります。 記事公開時点では、無料枠として 3000 通/月(100 通/日)までのメール送信が可能です。

Resend

The best API to reach humans instead of spam folders. Build, test, and deliver transactional emails at scale

resend.com

Resend のアカウントを作成する

まずResendのサイトにアクセスし、Get Startedをクリックします。

Resendのトップページ

アカウント情報の登録フォームが表示されるので、メールアドレスとパスワードを入力してCreate accountをクリックします。

Resendのアカウント登録フォーム

Create accountをクリックすると、アカウントの確認メールが送信されます。

メールアドレス確認

記事執筆時点では以下のような内容のメールが届きます。メール内にあるConfirm Accountをクリックします。

メールアドレス確認メール

Confirm Accountをクリックすると、ブラウザが開いて以下のようなログイン画面が表示されます。

Resendのログインページ

登録したメールアドレスを入力してContinueをクリックすると、少しローディング中となり、同じ画面でパスワードの入力フォームが表示されます。

Resendのログインページ-2

パスワードを入力して再度Continueをクリックすると、以下のようにダッシュボードが表示されます。

Resendのダッシュボード

Resend の API キーを作成する

初めてのログイン後にダッシュボードに表示されているAdd API Keyボタンをクリックします。 もしくは、ログイン後のサイドメニューにあるAPI KeysをクリックしてそのページにあるCreate API Keyボタンをクリックします。

APIキーの追加

Add API Keyボタンをクリックすると、以下のように API キーが作成されて表示されます。 Add an API Keyという緑線枠の中に表示されているre_*******************という値が API キーです。

作成したResendのAPIキー

作成した API キーの下には、Node.jsRubyPHPPythonGoJavaElixircURLそれぞれのメール送信処理部分のサンプルコードが記載されています。

cURL を使ってメールを送信する

Resend のサンプルコードを使って、試しにcURLを使ってメールを送信してみるところまでを解説します。

cURLでメールを送信する
$ 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>"
  }'

送信してみるとメールが実際にtoに指定したメールアドレスに届きます。cURLのレスポンスとして送信したメールの ID が返ってきます。

cURLの実行結果
$ 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で自身が持つ独自ドメインを使用したい場合は、Resend で独自ドメインの設定をする必要があります。 もし未設定の独自ドメインを指定してメールを送信した場合は、以下のようなエラーが返ってきます。

独自ドメイン未設定の場合のエラー
{"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 での独自ドメインの設定については以下で解説していますので、必要な方は参考にしてみてください。

⚙️ Resendで独自ドメインを使うための設定手順

Resendで独自ドメインからのメールを送信するために独自ドメインを設定する手順を解説します。

ritaiz.com

送信したメールを確認する

メール送信後に Resend のダッシュボードにアクセスし、サイドメニューのEmailsをクリックしてみると、以下のように送信したメール一覧ページに遷移します。

送信済みメール一覧

表示されているメールアドレスをクリックすると、実際に送信したメールに関する詳細情報を確認できます。 送信したメールのプレビューも確認できます。

送信済みメール詳細

まとめ

Resend のアカウントを作成して実際にメール送信するところまでを解説しました。Resend にアカウントを登録してメールを実際に送信するまで数分しかかからず、とても簡単にメール送信を試すことができました。 また、開発者のためのサービスを謳っていることもあり、ドキュメントも充実している印象です。 この記事では試していませんが、独自ドメインの使用や Webhook の設定などもでき、その他のメール配信サービスと遜色ない機能を提供しているようです。 以下が公式ドキュメントになります。

Documentation

Resend is the email API for developers.

resend.com