メインコンテンツへスキップ
レッスン一覧に戻る

atom.web-builder.email-notification

メール通知の仕組みを作る

AIツールでメール通知の仕組みを作る Webサイトやアプリで「お問い合わせがありました」「注文を受け付けました」といったメールが自動で届く仕組み、見たことがありますよね。あれは裏側でプログラムが動いています。 たと...

email-sendingemail-sendingプログラムからメールを送れる仕組みを作れます。
想定時間未設定公開状態: draft
学習メモ

成果物成果物このレッスンが終わったとき、あなたの手元に残る具体的な成果物です(例: 公開済みの Web ページ、動作するフォームなど)。

種類: code_snippet検証: basic_manual_check_v1

証跡証跡成果物が正しく作れたことを確認するためのチェックリストです(例: ブラウザで動作する、フォーム送信で値が保存される)。

screenshotlog_output

メディアメディアレッスン内に出てくる図や動画のスロットです。実際の画面やイメージで理解を補助します。

diagramscreen_capture

レッスン本文

AIツールでメール通知の仕組みを作る

Webサイトやアプリで「お問い合わせがありました」「注文を受け付けました」といったメールが自動で届く仕組み、見たことがありますよね。あれは裏側でプログラムが動いています。

たとえるなら、お店に「郵便係」を一人雇うようなものです。お客さんがフォームを送信したら、郵便係が自動で手紙を書いて投函してくれる。このAtomでは、その「郵便係」をAIツールの力を借りて15分で作ります。

使うのは Resend(=手軽にメールを送れるWebサービス)というサービスです。無料で月3,000通まで送れるので、個人開発やテストには十分です。

メール送信の全体フロー

前提を確認する

始める前に、以下が整っているか確認しましょう。

  • パソコンでターミナル(=コマンドを入力する黒い画面)を開けること
  • AIツール(Claude Code、Codex CLI、Cursor、ChatGPT のいずれか)が使えること
  • Node.js(=JavaScriptを動かす仕組み)がインストール済みであること

Node.jsが入っているか不安な場合は、ターミナルで次の1行を実行してください。

node --version

v18.0.0 のようなバージョン番号が表示されればOKです。「command not found」と出た場合は、先にNode.jsのセットアップAtomを完了してください。

Resendに登録してAPIキーを取得する

Resendは開発者向けのメール送信サービスです。まずアカウントを作り、APIキー(=あなた専用の合言葉)を手に入れます。

  1. ブラウザで Resend の公式サイトを開く
  2. 「Sign Up」ボタンをクリックし、GitHubアカウントまたはメールアドレスで登録する
  3. ダッシュボード(=管理画面)が表示されたら、左メニューの「API Keys」を開く
  4. 「Create API Key」をクリックし、名前に my-first-key と入力して作成する
  5. 表示された文字列をコピーして、安全な場所(メモ帳など)に保存する

Resendダッシュボードの操作画面

⚠️ APIキーは家の鍵と同じです。他人に教えたり、SNSに貼ったりしないでください。一度閉じると二度と表示されないので、この時点で必ずメモしておきましょう。

AIツールにメール送信コードを書いてもらう

ここがメインの作業です。AIツールに「こういうコードを書いて」とお願いして、メール送信プログラムを作ってもらいます。

AIツール別の始め方

ツール起動方法
Claude Codeターミナルで claude と入力してEnter
Codex CLIターミナルで codex と入力してEnter
Cursorエディタを開き、Cmd+K(Mac)/ Ctrl+K(Windows)でAIパネルを出す
ChatGPTブラウザでChatGPTを開き、チャット欄に入力する

良いプロンプト(=AIへの指示文)の例

ResendのAPIを使って、テストメールを送るNode.jsのコードを書いてください。
条件:
- 送信先: my-email@example.com(自分のメールアドレスに置き換え)
- 送信元: onboarding@resend.dev
- 件名: 「テスト送信:メール通知の仕組み」
- 本文: 「これはResendからのテストメールです。届いていれば成功です!」
- APIキーは環境変数 RESEND_API_KEY から読み込む
- ファイル名は send-email.js にする

悪いプロンプトの例

メールを送るコードを書いて

違いのポイント: 良いプロンプトは「何を使うか(Resend)」「どこに送るか」「キーをどう管理するか」が全部入っています。悪いプロンプトでは情報が足りず、AIが見当違いのコードを出しがちです。

AIが生成したコードを確認する

AIがコードを出力したら、次の3点だけチェックしてください。

  1. ファイル名: send-email.js など、わかりやすい名前になっているか
  2. APIキーの読み込み方: process.env.RESEND_API_KEY のように環境変数から読んでいるか(コード内にキーが直接書かれていたらNG)
  3. 送信先アドレス: あなた自身のメールアドレスが指定されているか

問題なければ、AIの指示に従ってファイルを保存します。Claude CodeやCodex CLIを使っている場合は、AIが自動でファイルを作成してくれることが多いです。

環境変数を設定する

APIキーをコードに直接書くと、うっかり公開してしまう危険があります。環境変数(=プログラムの外で管理する設定値)に登録しましょう。

ターミナルで次の1行を実行します。re_xxxxx の部分を、先ほどメモしたあなたのAPIキーに置き換えてください。

export RESEND_API_KEY=re_xxxxxxxx

これは「このターミナルの中では、RESEND_API_KEY という名前でこのキーを使います」と宣言する操作です。

💡 ターミナルを閉じるとこの設定は消えます。次回も使いたい場合はAIに「.envファイルで環境変数を管理する方法を教えて」と聞いてみましょう。

パッケージをインストールする

Resendの機能をプログラムで使えるようにする「部品」をインストールします。

npm install resend

これは「Resendという部品を、このプロジェクトに追加して」という意味です。数秒で完了します。

メールを送信してみる

いよいよ実行です。ターミナルで次の1行を打ちます。

node send-email.js

成功した場合

ターミナルに次のような結果が表示されます。

{ id: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' }

このIDが表示されれば、メールは送信されています。

失敗した場合

赤い文字やエラーメッセージが表示されたら、そのメッセージ全文をコピーしてAIツールに貼り付けてください。

このエラーが出ました。原因と解決方法を教えてください:
(ここにエラーメッセージを貼り付け)

AIがエラーの原因と修正方法を教えてくれます。

結果を確認する

送信が成功したら、以下の3つを確認して完了です。

チェック項目確認方法OKの基準
ターミナルの出力エラー(赤い文字)が出ていないか見るIDが表示されていればOK
メール受信メールボックスを開く(迷惑メールフォルダも確認)テストメールが届いていればOK
メール内容届いたメールの件名と本文を確認するプロンプトで指定した通りならOK

3つすべてOKなら、このAtomは完了です。あなたは「AIと一緒にメール送信の仕組みを作る」スキルを身につけました!

つまずきポイントに対処する

つまずき原因対処法
「API key is missing」と出る環境変数が設定されていないecho $RESEND_API_KEY を実行して値が表示されるか確認する。空なら export コマンドをやり直す
「Validation error: from」と出る送信元アドレスが使えない送信元を onboarding@resend.dev に変更する(Resendが用意したテスト用アドレス)
送信成功したのにメールが届かない迷惑メールに振り分けられている迷惑メールフォルダを確認する。Gmailの場合は「プロモーション」タブも確認
「Cannot find module 'resend'」と出るパッケージ未インストールnpm install resend を実行してからやり直す
「node: command not found」と出るNode.jsが入っていないNode.js公式サイトからLTS版をインストールする

どのエラーも、メッセージをそのままAIに貼り付ければ解決策を教えてもらえます。「自分で調べなきゃ」と思わず、積極的にAIに頼りましょう。

次のステップ

メール送信ができるようになったら、次はこんなことに挑戦できます。

  • HTMLメール: 見た目のきれいなメールを送る
  • フォーム連携: Webサイトのお問い合わせフォームと連動させる
  • 自動通知: 特定のイベント(注文完了など)をトリガーにメールを送る

興味があれば、AIに「Resendでお問い合わせフォームから自動返信メールを送る方法を教えて」と聞いてみてください。

成果物成果物このレッスンが終わったとき、あなたの手元に残る具体的な成果物です(例: 公開済みの Web ページ、動作するフォームなど)。

種類: code_snippet

検証: basic_manual_check_v1

証跡とメディア

証跡証跡成果物が正しく作れたことを確認するためのチェックリストです(例: ブラウザで動作する、フォーム送信で値が保存される)。

screenshotlog_output

メディア

diagramscreen_capture
学習完了