前提と注意事項
以下が前提と注意事項になります。
- メール送信に 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のトップページ](/_next/image?url=%2Fimages%2Ftrying-resend%2Fget-started.png&w=3840&q=75)
アカウント情報の登録フォームが表示されるので、メールアドレスとパスワードを入力してCreate account
をクリックします。
![Resendのアカウント登録フォーム](/_next/image?url=%2Fimages%2Ftrying-resend%2Fcreate-account-resend.png&w=3840&q=75)
Create account
をクリックすると、アカウントの確認メールが送信されます。
![メールアドレス確認](/_next/image?url=%2Fimages%2Ftrying-resend%2Fcheck-your-email-modified.jpg&w=3840&q=75)
記事執筆時点では以下のような内容のメールが届きます。メール内にあるConfirm Account
をクリックします。
![メールアドレス確認メール](/_next/image?url=%2Fimages%2Ftrying-resend%2Fconfirmation-email.png&w=3840&q=75)
Confirm Account
をクリックすると、ブラウザが開いて以下のようなログイン画面が表示されます。
![Resendのログインページ](/_next/image?url=%2Fimages%2Ftrying-resend%2Flogin-page.png&w=3840&q=75)
登録したメールアドレスを入力してContinue
をクリックすると、少しローディング中となり、同じ画面でパスワードの入力フォームが表示されます。
![Resendのログインページ-2](/_next/image?url=%2Fimages%2Ftrying-resend%2Flogin-page-2.png&w=3840&q=75)
パスワードを入力して再度Continue
をクリックすると、以下のようにダッシュボードが表示されます。
![Resendのダッシュボード](/_next/image?url=%2Fimages%2Ftrying-resend%2Fresend-dashboard.png&w=3840&q=75)
Resend の API キーを作成する
初めてのログイン後にダッシュボードに表示されているAdd API Key
ボタンをクリックします。
もしくは、ログイン後のサイドメニューにあるAPI Keys
をクリックしてそのページにあるCreate API Key
ボタンをクリックします。
![APIキーの追加](/_next/image?url=%2Fimages%2Ftrying-resend%2Fadd-api-key.png&w=3840&q=75)
Add API Key
ボタンをクリックすると、以下のように API キーが作成されて表示されます。
Add an API Key
という緑線枠の中に表示されているre_*******************
という値が API キーです。
![作成したResendのAPIキー](/_next/image?url=%2Fimages%2Ftrying-resend%2Fsucessfully-created-resend-api-key-modified.jpg&w=3840&q=75)
作成した API キーの下には、Node.js
、Ruby
、PHP
、Python
、Go
、Java
、Elixir
、cURL
それぞれのメール送信処理部分のサンプルコードが記載されています。
cURL を使ってメールを送信する
Resend のサンプルコードを使って、試しに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 -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 のダッシュボードにアクセスし、サイドメニューのEmails
をクリックしてみると、以下のように送信したメール一覧ページに遷移します。
![送信済みメール一覧](/_next/image?url=%2Fimages%2Ftrying-resend%2Fsend-emails-modified.jpg&w=3840&q=75)
表示されているメールアドレスをクリックすると、実際に送信したメールに関する詳細情報を確認できます。 送信したメールのプレビューも確認できます。
![送信済みメール詳細](/_next/image?url=%2Fimages%2Ftrying-resend%2Fsend-email-detail-modified.jpg&w=3840&q=75)
まとめ
Resend のアカウントを作成して実際にメール送信するところまでを解説しました。Resend にアカウントを登録してメールを実際に送信するまで数分しかかからず、とても簡単にメール送信を試すことができました。 また、開発者のためのサービスを謳っていることもあり、ドキュメントも充実している印象です。 この記事では試していませんが、独自ドメインの使用や Webhook の設定などもでき、その他のメール配信サービスと遜色ない機能を提供しているようです。 以下が公式ドキュメントになります。