トランザクションメールとは、利用者の操作をきっかけに一通ずつ送られるメールのことです。本記事では、こうしたメールを公開前にどこまで確かめるべきかを、一覧の形で整理します。読み終えると、自分の確認項目に足りない行がどれか分かります。
トランザクションメールには何が含まれるのか
代表的なものは次のとおりです。共通しているのは、読む相手が特定の一人で、内容がその人の操作に対応しているという点です。
- 登録の確認。
- パスワードの再設定。
- 注文の受け付けと発送の案内。
- 請求の控え。
- 重要な変更の通知。
案内メールと違って、一通ごとに意味が違います。だからこそ、変数の埋め込み違いが目立ちます。
公開前に何を確かめるべきか?
次の表を、そのまま確認の台帳として使えます。
| 観点 | 確かめること |
|---|---|
| きっかけ | すべての操作に対応するメールがあるか |
| 差出人 | 表示名と返信先が想定どおりか |
| 変数 | 氏名や番号が空になっていないか |
| リンク | 開いた先が正しい画面か |
| 停止 | 配信を止める手段が本文にあるか |
| 文面 | 言語と日付の書式が相手に合うか |
| 多重 | 同じ操作で二通送られないか |
表のうち、見落とされやすいのは最初と最後です。操作の種類が増えたのに、メールの用意が追いついていない。逆に、同じ操作を二度受け取って、二通送ってしまう。どちらも、利用者からの連絡で初めて気づく類の問題です。
変数と書式でよく起きる失敗は?
変数の埋め込みは、値が欠けたときに最も目立ちます。氏名が空のまま「 様」と表示される、注文番号の欄が空白になる、といった形です。値が欠けたときにどう表示するかを決めておけば、空白がそのまま出ることはありません。
日付と時刻も同じです。同じ文面を複数の地域へ送るなら、書式を地域に合わせるか、誤解のない形に統一するかを選びます。月と日を入れ替えた書式は、読み手にとって事故のもとです。
通貨や数値の桁区切りも、地域によって慣れが違います。ここを一つに固定すると、読みにくい文面になります。
宛先そのものはどう確かめるか
文面の確認に気を取られると、宛先そのものの確認が抜けます。確かめるべきは、まず送り先が正しいかどうかです。利用者が入力したアドレスをそのまま使っているのか、保存した値から組み立て直しているのかで、結果が変わります。とくに変更の直後は、古い値が使われていないかを確認してください。
もう一つは、宛先の表記が崩れていないかです。入力の前後に付いた空白、全角の記号、大文字と小文字の混在。これらは、人が見て気づきにくいまま送信の失敗につながります。送る直前に正規化する場所を一つ決め、そこだけを通してから送信してください。場所が複数あると、片方だけ直したときに食い違いが生まれます。
送信の重複と失敗にはどう備えるか
同じ操作が二度届くこと、処理が途中で止まること、どちらも起こります。備えの基本は、同じ用件のメールを二度送らない仕組みを入口に置くことです。
そのうえで、送信そのものが失敗した場合の扱いを決めます。失敗したことを記録し、あとから気づけるようにするのか、自動で送り直すのか。送り直すなら、同じメールが二通届く可能性を受け入れることになります。どちらを選ぶにせよ、利用者から見て結果が説明できる形にしてください。
なお、ここで扱うテスト用の宛先は動作確認のためのものであり、実在の身元としての連絡先ではありません。本番の利用者へ送る経路と混ざらないようにしてください。
開発者向け: 送信の設計で押さえる点
第一に、送信の指示と実際の送信を分けます。指示を出す場所では、文中に必要な値がすべて揃っていることを確かめます。値が欠けたまま送信の段階へ進むと、あとから直せません。
第二に、同じ用件を識別する値を決めます。用件の種類と対象を組み合わせた値を作り、同じ組み合わせでは一度しか送らないようにします。これで、利用者の二度押しや、処理のやり直しによる重複を吸収できます。
第三に、値を組み立てる部分と、文面を組み立てる部分を分けます。文面は変わりますが、値の集め方は変わりません。分けておくと、文面を直したときに値の組み立てを壊す心配がありません。
第四に、記録に残す内容を選びます。送信の成否、用件の種類、宛先の識別。この三つは残す価値があります。逆に、本文そのものや、本文に含まれる秘密の値は残さないでください。記録は長く残る場所だからです。
第五に、失敗の見える化です。送信が失敗したことが、誰にも気づかれないまま流れる状態を避けます。失敗の件数を数え、一定を超えたら知らせる形にしておくと、静かな障害に気づけます。
次のステップ
まず、上の表を手元のサービスに当てはめ、空欄の行を探してください。次に、いちばん危ない一行である「多重」の確認を、実際の操作で試します。二度押しで二通届くなら、そこが最初の修正点です。
テスト用の宛先を用意するには使い捨てメールのツールが使えます。確認の流れ全体はメール認証テストの進め方で、自動化の中での取り扱いはテスト環境でメールを捕まえるで整理しています。