背景:理論を現実に落とし込む「最後の15分」
昨日の記事で書いた「ファイル移動」による予約配信。その理論を実装する段階で、新たな壁にぶつかった。サーバー(Xserver)側の定期実行(Cron)が「5分刻み」という制約だ。
21:30に届けたいメールを、いかにして「1分の狂いもなく」届けるか。深夜のデバッグで見えてきたのは、「サーバー間のリレー」と「人間の心理」の同期だった。
完結への要点①:世界水準の「特急・書留便」へ
単にメールを送るのではなく、Amazon SES(配信インフラ)の審査を通過させ、送信ドメイン認証(SPF/DKIM/DMARC)をすべてパス(Triple PASS)させた。
- Gmailへの到達率を極限まで向上
- 「怪しいチラシ」ではなく「信頼される公文書」としての証明
- 迷惑メールフォルダへの振り分けを徹底回避
これにより、確実に「届く」基盤が完成した。
完結への要点②:8分前の「思考停止」リレー
Xserverの5分刻みCronを攻略するため、VPS側から「8分前(または6分前)」にメールを発射するロジックを組んだ。
- VPS(8分前): Xserverへデータをパス
- Xserver(5分前): データを受信し、本来の目標時間まで「お預かり」状態で待機
- Xserver(目標時間): ジャストのタイミングで一斉配信を開始
この「サーバー同士の時差リレー」により、インフラの制約をプログラムで解決した。
完結への要点③:UIの言葉が「安心」を作る
技術的なラグをユーザーにどう見せるか。管理画面の表記を「配信開始」から「配信準備開始」へと変更した。
- 「配信準備開始」: サーバーが動き出したことを伝え、ユーザーに安心感を与える
- 「15分前ルール」: 配信希望時間の15分前までの操作を必須化
- 「お茶をすする時間」: 運用に余裕を持たせることで、システムも人間もパニックにならない設計
まとめ:エンジニアの仕事は「お茶を飲む時間」を作ること
完成したシステムを眺めて思う。
メール配信という、当たり前のインフラを作り直す。その本質は、単にパケットを飛ばすことではなく、「担当者の方が、予約を済ませた後に安心してお茶を一杯飲める時間」を作ることだった。

