メール配信とつなぐ|公開した週のランキングを、下書きのメールにする

コース6 API編 11 / 13・読む時間 約9分・最終確認日

いまは無料で公開中です

このレッスンの要点

  • メール配信のサービスの API で、公開した週のランキングから「下書き」のメールを作ります。送るのは人です
  • 送信元のドメインの認証と、配信停止のリンクは必ず入れます。ドメインの認証はサービスの決まり、配信を止められることの表示は日本の法律の決まりです
  • 広告をふくむメールは、日本では「あらかじめ同意した人にだけ送る(オプトイン)」が決まりです

メールも「下書きまで」を自動に

サイトに公開した週のランキングを、メールでも届けます。ここでも、自動にするのは下書きのメールを作るところまでです。送るのは、人が下書きを読んでからにします。送ったメールは取り消せないからです。

1人が「公開」を押す(レッスン10)
2続けて、下書きのメールが自動でできる
3人が下書きを読み、テストで自分に送って確かめる
4人が「送る」を押す(予約してもよい)
メールの紹介文は、公開したページの文をそのまま使います。メールのために新しい文を書かせません。

メール配信のサービスの API

多くのメール配信のサービスには、まとめて送るメール(ニュースレター)を API で作る機能があります。たとえば、次の2つは公式ドキュメントに、API で下書きを作る方法が書かれています。

サービス下書きにするには送り先
Resend の Broadcastssend を false(はじめの設定)のまま作るsegment(送り先のグループ)
Kit の Broadcastssend_at を null にして作るサービスに登録した読者
Kit は、配信停止のリンクがないと送れません。Resend は、配信停止のリンクの目印({{{RESEND_UNSUBSCRIBE_URL}}})を本文に入れると、止める手続きをサービスがしてくれます。

メール配信のサービスのキーも、Claude の APIキーと同じく、GitHub の Secrets に入れて使います(レッスン9)。Resend で作るときは、送信元のアドレス(from)と件名も必ず要ります。

送信元のドメインを認証する

メールを送るには、送信元にするドメインを、サービスの画面で認証しておく必要があります。サービスが出す のレコード(SPF・DKIM)を、ドメインの DNS の設定に入れます。Resend の公式ドキュメントでは、値はサービスが出したものとまったく同じにすること、認証には多くは15分ほど、長いと72時間かかることが書かれています。

1サービスの画面でドメインを足す
2出てきた DNS のレコードを、ドメインの DNS に入れる
3「認証ずみ」になるのを待つ
Resend は、ドメインそのものではなく、メール用のサブドメイン(例:news.〜)から送ることをすすめています。

日本のメールの決まり(オプトイン)

広告や宣伝をふくむメールには、日本の法律(特定電子メール法)の決まりがあります。総務省・消費者庁の資料のおもな点は次のとおりです。お店の紹介リンクを入れるなど、営業にかかわるメールを送るときは、必ず確かめましょう。

決まり中身
オプトインあらかじめ「送ってよい」と同意した人にだけ送る。同意を受けたときの記録を残す
表示送信者の名前(名称)、配信を止められること、止める連絡先、住所、苦情や問い合わせの先を示す
配信停止同意した人でも、「もういらない」と言われたら、そのあとは送らない
くわしくは消費者庁のページと総務省のページで確かめてください。

読者の登録は、メール配信のサービスの登録フォームを使い、「登録します」と自分で入れてもらう形にします。名簿をよそから持ってきて送ることはしません。

よくある勘違い

「メールの文も、自動でそのまま送ればいい」わけではありません

公開と同時に、全員へ自動で送る
送ったメールは取り消せません。まちがいがあっても、受け取った人の受信箱に残ります
自動で作るのは下書きまで。送るのは人
サイトの公開と同じく、読んでから送るボタンを押します

やってみよう

  1. 使うメール配信のサービスを決めます(例:Resend の Broadcasts、Kit の Broadcasts)
  2. サービスの画面で、送信元にするドメインを認証します(画面に出る DNS のレコードを入れる)
  3. GitHub の Secrets に、RESEND_API_KEY(キー)・RESEND_SEGMENT_ID(送り先のグループの ID)・MAIL_FROM(認証したドメインの送信元のアドレス)を入れます(入れ方はレッスン9)
  4. 下の依頼文を Claude Code に送って、下書きのメールを作るプログラムを作ってもらいます
  5. 公開のワークフロー(レッスン10)の最後で、そのプログラムを動かすようにしてもらいます(3つの Secrets を環境変数として渡す)
  6. 下書きを、テストのメールで自分に送って確かめてから、送ります。送り方は、使うサービスの公式の手順で確かめます
下書きのメールを作るプログラムを作ってもらう依頼文(Claude Code に)scripts/mail-draft.mjs を作って。いちばん新しい公開ずみ(draft が false)の週間ランキングのファイルから、メールの件名と本文(HTML)を作り、Resend の Broadcasts の API で「下書き」として作って(send は false。送信も予約もしない)。本文は「ひとこと → 1位〜5位の題名と紹介文(文字で) → サイトの /ranking/ へのリンク → 配信停止のリンク({{{RESEND_UNSUBSCRIBE_URL}}})」の順。紹介文はファイルにあるものをそのまま使い、新しい文は書かせないで。キーは環境変数 RESEND_API_KEY から、送り先のグループ(segment)の ID は RESEND_SEGMENT_ID から、送信元のアドレス(from)は MAIL_FROM から読んで。どれかが無ければ、何も作らずに理由を出して止めて

確認問題

Q1. Resend の Broadcasts で、API で作ったメールを「下書き」にするには?
Q2. 広告をふくむメールを送ってよい相手は?(日本の決まり)
今日の練習

自分が受け取っているメールマガジンを1通開いて、送り主・配信停止のリンク・問い合わせ先がどこに書いてあるか探してみましょう。

この記事の用語

コース6 API編の目次

  1. 1APIとは?アプリ版との違い
  2. 2APIキーの作り方と守り方
  3. 3料金の考え方と、使いすぎを防ぐ上限設定
  4. 4はじめての呼び出し
  5. 5全体像
  6. 6データを集める
  7. 7Claude に文章を書かせる
  8. 8記事ファイルにしてサイトに載せる
  9. 9毎週自動で動かす
  10. 10公開前のチェック
  11. 11メール配信とつなぐ
  12. 12料金と、失敗したときの備え
  13. 13実例:週次レポートの裏側