一斉メールを作るとき、配信停止までを1機能として考えた話

記事
IT・テクノロジー
今日は、Next.jsとTypeScriptで作っている会員向けサービスの管理画面に、一斉メール機能を追加する作業をした。

運営から登録者へ新機能や募集情報を知らせるだけなら、件名と本文を入力して対象者へ送る画面を作れば形になる。ただ、そのままでは「もう案内を受け取りたくない人」まで毎回配信対象に入ってしまう。送る機能だけを先に完成させると、あとから除外条件を足すときに、対象者の抽出や運用ルールを作り直すことになる。

そこで今回は、管理画面の一斉配信と、利用者側の配信停止画面を同じ機能として設計した。配信前に対象者を抽出するときは、配信停止の状態を確認して除外する。画面側でも、誰に送る機能なのかが分かるように用途をネイリスト向けへ絞った。

実装してみると、メール本文の編集よりも「送ってよい相手をどう決めるか」の方が大切だった。対象条件が曖昧なまま送信処理へ進めると、案内の重複や不要な配信につながる。まずデータ側の配信可否を確認し、その結果だけを送信処理へ渡す流れにした。

Vercelの連携ではデプロイがスキップされたため、本番反映済みとは扱わず、PRと実装内容の確認までで止めた。自動化は、コードを書いただけで完了ではなく、実際の反映状態まで確認して初めて運用に入れられる。

Next.jsの管理画面、メール通知、会員データ連携など、「小さく始めたいが誤送信は避けたい」機能も、対象条件と停止手段を整理してから実装しています。既存システムの部分改修や調査だけでもご相談ください。
サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す