本文へ移動

通知のしくみ/ Notifications

何が誰に届き、届かないときにどう気づくか

通知は、業務の出来事を関係者へ知らせるしくみであると同時に、異常を管理者へ伝える経路でもあります。松葉が送る通知は全 47 種類で、メールの届き方は受信者が自分で選びます。この章では、通知の 3 つの系統と設定の効き方、操作からメールボックスまでの受け渡し、そして「画面は正常なのにメールだけ出ない」状態をどこで見張るかを説明します。あわせて、管理者が文面を編集できる範囲と、その画面がどの段階で入るかを示します。

01

通知の 3 系統Three Families

松葉が送る通知は全 47 種類です。系統によって送られ方が違い、管理者が手を入れられる範囲も違います。まずこの 3 つの区別を押さえると、この先の章が読みやすくなります。

Three Families
系統種類数代表例届く相手本文の編集
業務通知 全 24 種
稼働中 19
実装予定 · Step 4a 3
実装予定 · Step 4b 2
アップロードと差し替え/コメント/メンバー追加とロール変更/招待/共有リンクの発行/ファイルリクエストの依頼・催促・受領/参加申請と承認/デイリーサマリ。保持期限の予告と削除当日の知らせは 実装予定 · Step 4aBox の関係者編集できる
画面は 実装予定 · Step 4b
認証・本人宛 全 11 種
稼働中 11
ログインと二要素認証の設定に使う確認コード/共有リンクの受取人とファイル提出者の確認コード/パスワードの再設定・追加・変更の完了/メールアドレスの確認と変更完了/メール配信の再開確認本人のみ編集できない
文面はアプリに固定
管理者宛 全 12 種
稼働中 8
実装予定 · Step 4b 4
ウイルス検出/種類と中身が一致しないファイルの隔離/隔離の取り出しと恒久削除/共有リンクの総当たり検知/Drive 同期の異常/月次の検出訓練の結果/Workspace 要対応の週次リマインダ。アラートの汎用通知と重大操作の通知は 実装予定 · Step 4bシステム管理者全員
(一部は関係者にも同報)
編集できる
画面は 実装予定 · Step 4b
いま実際にメールとして飛ぶのは、稼働中 38 種のうち 35 種です。 残る 3 種(ファイル・フォルダの削除、メンバーが加わった・外れた)はアプリ内の通知センターだけに出る知らせで、メールを持ちません。メールを持たないぶん、受信者の配信設定では止まらず、通知センターには必ず残ります。実装予定の 9 種はいずれもメールを持ちます。

系統ごとに送り方を分けている理由

確認コードやパスワード再設定のメールは、遅れれば利用者がその場でログインできません。そこで認証・本人宛の 11 種だけは途中の順番待ちを通さず、アプリから配送業者へ直接渡します。管理者が文面を編集できないのも同じ理由で、認証の文面が事故で壊れるとログイン自体が止まるためです。業務通知と管理者宛の通知は、順番待ちを挟んで確実に送ることを優先します。

02

届き方は受信者が選べるDelivery Modes

メールの届き方は、利用者が自分の設定画面で決めます 稼働中。管理者が一括で切り替える機能は持っていません。届きすぎて読まれなくなる状態を避けるため、受信者側に選択肢を置く設計です。

Delivery Modes
モード動作
即時(既定)出来事が起きるたびにメールを送ります。
デイリーサマリ1 日分をためて、指定した時刻に 1 通へまとめて送ります。時刻は 30 分単位で選べます。まとめた 1 通は通知センターにも受領行として残ります。
停止メールを送りません。アプリ内の通知センターとバッジには従来どおり出ます。

この 3 つは全体の既定として選び、さらに Box ごとに上書きできます。「普段はデイリーサマリだが、この案件の Box だけは即時で受け取る」といった使い分けができ、指定しなかった Box は全体の設定を引き継ぎます。

止められない通知

業務上の危険や期限に直結する知らせは、受信者の設定にかかわらず即時で届きます。招待/参加申請とその承認・却下/共有リンクの発行案内/ウイルス検出などのセキュリティ/Drive 同期の異常/隔離の取り出しと恒久削除/保持期限に関する知らせ/重大操作の通知がこれにあたります。これらはデイリーサマリにまとめず、Box ごとに停止していても送ります。

メール本文の末尾には配信停止のリンクが付き、メールソフトの「登録解除」からも止められます。停止の範囲は、Box に紐づく知らせならその Box、紐づかない知らせなら業務通知のメール全体です。ただし上記の止められない通知は停止後も届き続け、アプリ内の通知センターにも残ります。設定画面からいつでも再開できます。

(画面の画像は掲載していません)
ヘッダのベルに未読件数が出ます。アプリの画面と管理コンソールの両方に常駐し、開くと時系列で 1 年分まで遡れます。未読のみ・Box での絞り込みと「すべて既読」があります。
(画面の画像は掲載していません)
上段が全体の既定(即時/デイリーサマリ/停止)、下段が Box ごとの上書きです。デイリーサマリを選ぶと時刻の指定欄が出ます。
03

配送の裏側Behind the Scenes

通知でいちばん困る故障は「画面の操作は成功しているのに、メールだけが出ていない」形で現れます。利用者からは気づけず、管理者にも自動では見えません。松葉は、この状態を作らないための多段の受け渡しと、詰まりを見つけるための点検を持っています。

図 07 · 通知が届くまで — 操作からメールボックスまでの受け渡し
① アプリの操作② 送信予定と払い出し③ 宛先ごとの配送④ 配送と受信利用者の操作アップロードなど送信予定に記録操作の保存と同じ処理で1 行を書き足す1 分ごとの払い出し未送信の行を取り出す宛先ごとに取り込む誰に何を送るかを確定するBox の設定と受信者の設定に従う即時既定の届き方すぐ順番待ちへデイリーサマリ指定時刻まで待つ30 分ごとに確認順番待ちから 1 通ずつ送るnotification-queue → 配送処理止まっていないかの見張り5 分ごとに滞留と配送の失敗を点検(稼働中)異常はアラート台帳(app_alerts)へ起票確認コードなど送信予定を通らない認証・本人宛はそのまま配送へ(遅れを作らない)Resendメールの配送(外部)受信者に届くメールボックスへ到達確認を受け取る届いた・届かなかったを Resend から受け取って記録する結果は管理コンソールの通知状況に出る届かない状態が続いたとき30 日以内に 3 回届かなかったアドレスは、メール配信をいったん止めて Box のオーナーへ知らせる本人は確認メールから自分で再開できる

色の役割 — Teal:稼働中の処理 / 金茶:台帳・時間もの / 赤:配信の停止 / 破線:外部サービスと見張り。「画面は正常なのにメールだけ出ない」を見張る場所は 3 つです。①送信予定に行が溜まっていないか(5 分ごとの点検)②配送そのものが失敗していないか(同じ点検と管理コンソールの通知状況)③届いたかどうか(到達確認とバウンスの警告)。いずれも異常はアラート台帳へ起票され、管理者に知らせが飛びます。

操作と知らせが食い違わないしくみ

送信予定への書き込みは、操作そのものの保存と同じひとまとまりの処理で行います。アップロードが成功したのに通知が作られなかった、あるいは操作が失敗したのに通知だけ飛んだ、という食い違いが起きません。そのうえで、実際の送信は 1 分ごとの払い出しに任せます。メールの配送は外部サービスへの通信を伴うため、そこで詰まっても利用者の操作は待たされません。

(画面の画像は掲載していません)
差出人・件名の付き方と、本文の外殻(ヘッダ・フッタ・配信停止リンク)は全種類で共通です。件名には内容に応じた区分(セキュリティ・管理・Drive 同期など)が入り、受信箱で仕分けできます。
04

届かないときのしくみWhen Mail Bounces

退職・組織変更・入力間違いなどで、宛先が受け取れなくなることがあります。放置すると配送業者から見た評判が落ち、他の宛先にも届きにくくなるため、松葉は届かないアドレスを自動で切り離し、本人の手で戻せるようにしています 稼働中。

Bounce Handling
段階起きること誰が何をするか
① 到達確認配送業者から「届いた/届かなかった」の結果を受け取り、宛先ごとに記録します。自動(管理コンソールの通知状況で件数を確認できます)
② 配信の停止30 日以内に 3 回届かなかったアドレスは、メール配信をいったん止めます。同時に、その方が関わる Box のオーナーへ「この方にメールが届いていない」と知らせます。自動
③ 本人による再開本人は設定画面から確認メールを送り、届いたメールのリンク先で操作すると配信が再開されます(リンクの有効期限は 24 時間)。リンクを開くだけでは戻らず、明示の操作が要ります。本人(管理者の手続きは不要)
④ 個別の再送特定の通知が失敗している場合は、管理コンソールの通知状況から手動で送り直せます。システム管理者 稼働中
再開を本人の操作にしている理由: 配信を止められた本人へ送る確認メールだけは、通常の配送経路を通しません。止まっているのはその宛先自身なので、同じ経路に載せると、解除したい当のフラグがメールを握りつぶします。この 1 通だけはアプリから直接送ります。また、メールを開いただけで解除されると、受信側の自動巡回でも解除されてしまうため、リンク先で明示的に操作したときにだけ戻る形にしています。
05

管理者が編集できるものTemplates & Free Messages

通知の文面は「共通の外殻」と「本文」の二層でできています。外殻(ヘッダ・フッタ・配色・配信停止リンク)はアプリ側が用意し、本文だけを管理者が編集できる設計です。文面をデータベースに置く準備は済んでおり、編集する画面が 実装予定 · Step 4b です。

Editing Scope
対象できること状態
テンプレートの編集業務通知と管理者宛の本文(件名・本文)を書き換えます。ダミーデータでの表示確認、系統での絞り込みと検索を備えます。全社共通の文面に加え、Box ごとの差し替えにも対応します。実装予定 · Step 4b
差し込みの語句本文には Box 名・ファイル名・操作した方の名前などを差し込めます。差し込める語句はテンプレートごとに決めた一覧に限られ、一覧にない語句を書いても空欄になります。誤って内部の値が本文へ出ることを防ぐためです。実装予定 · Step 4b
認証・本人宛の 11 種編集できません。ログインや再設定が止まる事故を避けるため、文面はアプリに固定してあります。稼働中(編集不可のまま)
ゼロベース通知テンプレートを使わず、件名・本文・宛先をその場で書いて送ります。Box の画面から、システム管理者と Box のオーナーが使えます。共有リンクを管理者が強制的に失効させたときの連絡も、この経路で理由を添えて送ります。送信は履歴に残ります。稼働中

テンプレートの編集画面ができるまでの間も、定型外の連絡はゼロベース通知で送れます。文面の恒久的な変更が必要になった場合は、開発側での差し替えになります。

06

配信状況の確認Monitoring Delivery

配信の状態を見る経路は 2 つあります。日常はアプリの中だけで完結し、配送業者側の詳細を見たいときにだけ外の画面を使います。

Two Views
経路見えるもの使う人状態
管理コンソールの通知状況送信件数と成功率、失敗した通知の一覧と手動での再送、メール配信を止めている方の人数(上段の計器)。個別の再開は、その通知の詳細を開いて行います。詳しくは管理コンソールの章を参照してください。システム管理者稼働中
Resend Dashboard配送業者側の記録(1 通ごとの配送ログ、受信側から返された理由、到達率の推移)。松葉が持つ鍵は送信専用で、アプリから配送ログを取りに行かない設計のため、細かい配送理由はこちらで見ます。エンジニア(必要なときのみ)稼働中

日常の判断は管理コンソール側で完結します。Resend Dashboard を開くのは、特定の宛先だけ届かない原因を追うときなど、受信側が返した理由まで確かめたい場合に限られます。持ち場の切り分けは自動メンテナンスと長期運用の「持ち場の線引き」を参照してください。

(画面の画像は掲載していません)
松葉から出たメールが 1 通ずつ記録され、到達率とバウンスの推移が積み上がっている様子です。日常の運用では開きません。