1192.tokyo

本サイトは一部のページでアフィリエイト広告を利用しています。リンク経由で申し込みが発生した場合、運営者に報酬が支払われることがあります。

メール送信

Resendとは?独自ドメインからメールを送る仕組みをわかりやすく解説

アプリからメールを送ろうとすると、「送れてはいるのに届かない」という壁にぶつかります。このページでは、自分でメールサーバーを立てない理由と、独自ドメインから送るために必要な設定を説明します。

このページの結論

一言でいうと
アプリから送るメールが迷惑メール扱いされないよう、送信の部分を専門のサービスに任せる仕組みです。
かかるお金
個人開発の通知メール程度の量なら、無料枠の範囲で始められる
向いている人
独自ドメインからメールを送りたいが、自分でメールサーバーを立てたくない人。
向いていない人
メール送信の機能自体が必要ない人。

Resendとは

Resendは、アプリやサイトからメールを送るためのAPI(プログラムから呼び出せる仕組み)です。 ログイン用のリンクや、問い合わせフォームの通知、障害の通知など、「人間に届けばいい」種類のメールを送るのに使います。

ことば メール送信API 自分でメールサーバーを立てる代わりに、メール送信専門のサービスにお願いする仕組みです。 到達率(実際に受信箱に届く割合)の管理を任せられます。
ハル
ハル 聞く人 メールって、自分でサーバーを立てて送ればいいんじゃないんですか?わざわざ別のサービスを使う理由が分からなくて。
ヤドカリ先生
ヤドカリ先生 答える人 送ること自体はできます。ただ、受け取る側の立場で考えてみてください。 見覚えのない差出人から急に手紙が届いたら、開けずに脇によけておきませんか。 メールの世界でも似たことが起きていて、実績のない送信元からのメールは警戒されます。
ハル
ハル 聞く人 じゃあ、送れてはいるけれど、相手に読んでもらえるかどうかは別の話ということですか?
ヤドカリ先生
ヤドカリ先生 答える人 その通りです。この「受信箱まで届く割合」を到達率と呼びます。 自前のサーバーだと、迷惑メール扱いされないように実績を積むところから始めることになります。 メール送信専門のサービスは、その部分をすでに整えた状態で貸してくれます。
ハル
ハル 聞く人 自分のドメインから送るのに、何か設定はいるんですか?
ヤドカリ先生
ヤドカリ先生 答える人 先にドメイン(自分のサイトの住所。取得していなければお名前.comなどで契約します)が要ります。 ドメインには「住所録の設定ページ」にあたるDNSという場所があり、 そこにSPF・DKIM・DMARCという3つの設定を書き足します。名前は物々しいですが、 やっていることは「このドメインから出たメールは、なりすましではありません」という証明書を貼ることです。 手順としては、指示されたレコードをDNSに写すだけです。
ハル
ハル 聞く人 写すだけならできそうです。その専門のサービスって、お高いんですか?
ヤドカリ先生
ヤドカリ先生 答える人 個人開発で送る通知メールくらいの量であれば、無料枠の範囲で収まることが多いです。 私は、ログイン用のリンクと問い合わせの通知を送る用途で使っていて、今のところその範囲に収まっています。
アプリからメールが届くまで
  1. 01 アプリ 「この人に送って」と依頼
  2. 02 送信サービス Resendが実際に送る
  3. 03 受信側の判定 迷惑メールかどうか見られる
  4. 04 受信箱 相手が読む

つまずくのは右から2つ目です。送れていても、ここで弾かれると相手に届きません。

独自ドメインから送るために追加する3つの設定
自分のドメイン DNSに追加する
  • SPF どのサーバーから送るかの申告
  • DKIM 送信元が本物だという署名
  • DMARC 偽物だったときの扱いの指定

3つとも「このドメインから出たメールはなりすましではない」と示すための設定です。指示されたレコードをDNSに写す作業になります。

特徴

  • 独自ドメインからメールを送るには、SPF・DKIM・DMARCという3種類のTXTレコード(なりすまし対策の設定)を DNSに追加します。専門用語ですが、要は「このドメインからのメールは正規のものです」と証明する仕組みです。
  • 送信元のメールアドレス(noreply@独自ドメインなど)は、コードに直接書かず、環境変数として管理します。
  • 無料枠 の範囲で、個人開発の通知メール程度の送信量であれば十分にまかなえます。

使い方の手順

この手順は、独自ドメインをすでに取得している人向けです。まだの場合は、先に お名前.comなどでドメインを取得してから戻ってきてください。
1

アカウントを作る

公式サイトから登録します。

2

送信元にするドメインを追加する

独自ドメインを登録します。

迷いやすいところ: サブドメイン(mail.example.com など)を送信専用に使う手もあります。分けておくと、送信の評判が本体のドメインに影響しにくくなります。

3

指示されたレコードをDNSに写す

Resendの画面に、追加すべき設定値(レコードと呼びます)が一覧で表示されます。これを、ドメインを契約したサービス(お名前.comやCloudflareなど、ドメイン代を払っている先)の管理画面にあるDNS設定ページを開き、1行ずつコピーして貼り付けます。

迷いやすいところ: この作業はResendの画面ではなく、ドメインを管理しているサービス側で行います。値は1文字でも欠けると認証が通らないので、手打ちせず貼り付けます。

4

認証が通るまで待つ

追加後、管理画面で認証済みの表示に変わるのを待ちます。

迷いやすいところ: 反映に時間がかかります。すぐに通らなくても設定が間違っているとは限りません。数時間おいても変わらない場合に見直します。

5

APIキーを発行して環境変数に入れる

発行したキーを、コードではなく環境変数として保存します。

迷いやすいところ: 送信専用の権限だけを与えられる場合は、そちらを選びます。キーが漏れたときに、できることが少ない方が被害が小さくなります。

6

複数の宛先にテスト送信する

Gmailなど、実際に使われているメールサービス宛てに送ってみます。

迷いやすいところ: 受信箱ではなく迷惑メールに入っていないかまで見てください。届いた=成功、ではありません。

注意点

問い合わせ先のメールアドレスをページの中にそのまま書くと、迷惑メール業者に機械的に拾われます。 アドレスはページに載せず、フォームに入力された内容がサーバー側からあなた宛てに転送される作りにしておくと、 この収集を避けられます。この作りは、開発を頼むAIに「メールアドレスをページに出さない問い合わせフォームにして」と 指示すれば実現できます。

よくある質問

無料のメールアドレス(Gmailなど)から送るのとは違いますか?

違います。Gmailは人が手で送るためのもので、アプリが自動で送る用途には向いていません。また、案内が個人のGmailアドレスから届くと受け取る側が不審に感じるため、サービス名の入った独自ドメインから送る仕組みを作ります。

SPF・DKIM・DMARCは全部設定しないといけませんか?

設定しないとメールが届きにくくなったり、迷惑メール扱いされたりすることがあります。送信元として使うドメインには設定しておくことをすすめます。

メールを受け取る側の設定も必要ですか?

この記事で扱っているのは送信の仕組みです。受信については別途、メール受信サービスの検討が必要です。

まとめ

アプリから送るメールが迷惑メール扱いされないよう、送信の部分を専門のサービスに任せる仕組みです。

向いている人

独自ドメインからメールを送りたいが、自分でメールサーバーを立てたくない人。

向いていない人

メール送信の機能自体が必要ない人。