>100 Views
October 30, 26
スライド概要
2026年10月30日 Shima Tech Hub #22
アールスリーインスティテュートは、kintoneを中心とした クラウドサービスを活用することで お客様の継続的な業務改善をサポートします。
メール送信は成功しました (届くとは言っていない) 2026/10/30 Shima Tech Hub #22 アールスリーインスティテュート 西島 www.r3it.com
こんにちは! アールスリーインスティテュート サービスグループ gusukuユニット デベロップメントチーム マネージャー 西島 幸一郎 @k_nishijima #しまてく ハッカーズチャンプルーのなかのひと https://hackers-champloo.org/ www.r3it.com
アールスリーインスティテュート システムの受託開発と 法人向けSaaSの二本立て 創業 社員数 拠点 2000年 50名 大阪 10億 東京 沖縄 みんなの家 以上 年商 以上 www.r3it.com
https://hackers-champloo.org/2026/ ハッカーズチャンプルー 2026 10月12日(月曜日・スポーツの日) 浦添市てだこホール 市民交流室 www.r3it.com
ご参加いただいた皆様、ありがとう!! www.r3it.com
本日のお品書き 脆弱性発見/指摘多発で死んでいます ● 本題はメールをどうやって安全に送るか、という話です この資料は人間が書いています(deck使ってます) www.r3it.com
質問:PHPは 使っていますか? www.r3it.com
質問: XYZは使っていますか? 使っていませんが、なにか? ● ものすごい数の問い合わせがくる ● もちろん対応自体も大変だが、問合せに返答するだけでも、 ものすごく時間がかかる このコストを誰に払わせれば良いのか...辛い🤬 www.r3it.com
それはさておき メール💌の話 www.r3it.com
今日、話さないこと DKIM/DMARC/SPFなどの設定の話はしません ● これらはできて当たり前 (じゃないとメールをそもそも送れない、届かない) ● その前段の設計の話と、運用の話をします www.r3it.com
今日、話すこと メール送信は成功しました(届くとは言っていない) ● なぜこういうことが起こるか ● 起こらないように事前に対処できるか www.r3it.com
メール送信は成功しました(届くとは言っていない) なぜ起こるか ● いっぱいありすぎてw ● 技術的には、処理が非同期なのでリクエストと結果が 分離しているから、という身も蓋もない答えになる 世の中非同期処理が基本なので、これ自体は不思議でもなんでもない www.r3it.com
メール送信は成功しました(届くとは言っていない) 事前に対処できるか? ● できるものと、できないものがある ● なので完璧は捨てないといけない。 上司に「完璧に送信して」と言われたら殴って良いw 『できる範囲のことは、頑張りましょう』、というのが今日の話です。 www.r3it.com
まず設計の話 送るメールの種類を分類してみよう ● サインアップの時に送るメールや、パスワードリマインダー ● なにか起こったら連絡する、通知メール ● 特定の属性に向けて連絡するマーケティングや障害通知 どんなシーンでどんなメールが送られているかを、まず棚卸し www.r3it.com
まず設計の話 送れなかったら 「サービス停止と同義になるメール」はなんだろう? ● さっきの例だと例えば「サインアップやパスワードリマインダー」 ● 他はまぁ、飛ばなくてもいいや(良くないが、即死ではないw 認証を外部のIDaaSに出していれば そちらの障害 = 自社サービスの障害、となるのでそれはそれで注意。 www.r3it.com
実装の話 止まったらやばいものは、冗長化しよう ● 配送サービスを冗長化して、いつでも差し替えられる状態にしておこう ● Amazon SES / SendGrid / Resend その他いろいろお好みで... DBもライター/リーダーで冗長化しますよね? それと同じイメージです。 www.r3it.com
実装の話 メールに優先度をつけて、可用性を維持するものと そうでないものを分ける ● 例えば、サインアップメールだけは絶対送りたい、 その他は最悪そこそこで良い、と「判断する」(決めの問題) ● そうすることで、サインアップメールの可用性維持に 全力を割くことができる www.r3it.com
運用の話 レピュテーションを維持しよう ● そもそも、取ったばかりのドメインではメールは 送りづらい(某N●Kのアレとかの話 ● レピュテーションが低いというか「ない」、ので 新サービスのローンチ時などは、だいぶ前から ドメインだけは上げておいて、メールを配送しておくとよろし www.r3it.com
運用の話 レピュテーションを維持しよう ● レピュテーションを維持 = スパム業者ではない、と信じてもらうという事 あなた:「必要なメールを送ってるんです!」 世の中:「いやいや、お前の配送先、エラーばっかりでおかしいやろ、ギルティ」 →というシナリオを避ける必要がある www.r3it.com
運用の話 レピュテーションを維持しよう ● 例えば Amazon SES の場合、バウンスレートが 約10% を超えると メールが送れなくなる (5%以上でレビュー対象、10%以上で止められる可能性が高くなる) https://docs.aws.amazon.com/ses/latest/dg/reputationdashboardmessages.html 世の中は厳しい。。。 www.r3it.com
運用の話 レピュテーションを維持しよう ● 配送先の問題(サーバ停止やドメイン変更)で、バウンスレートが 急激に上がってしまうことは、まれによくある ● この時に、「止まったらヤバいメールが止まる」のは、何としても避けたい (前に話した冗長化の話) 健全性の監視は、とても重要です... www.r3it.com
運用の話 具体的には? ● 基本: バウンスメールをハンドリングして、バウンスしたらもう二度と送らない ● Amazon SES の場合、Account-level suppression listが実装されているので それ任せにする手(つまり手抜き)もある ✴ただし、一時的な障害で届かないこともあるので、 手動でサプレッションリストから外す手段も用意しておく必要がある www.r3it.com
ここまで頑張った! www.r3it.com
それでも届かない のが、メール www.r3it.com
なぜメールが届かないのか 色々ありすぎて語り尽くせない ● SendGrid のこのページあたりをとりあえず熟読 「メールの到達性を向上させるための10個のベストプラクティス」 https://sendgrid.kke.co.jp/blog/?p=8893 一昔前の国内携帯キャリア向けに送るのは、さらに大変だと思う。 www.r3it.com
なぜメールが届かないのか Outlook / Microsoft 365 の謎 ● なにをどう頑張っても届かない(うそ👻 ● 曰く「レピュテーションをとても強く見る」 「急な配送量の増加に敏感」「エンゲージメントの低さでバッサリ」等々 そのロジックは、よく分からない... www.r3it.com
もうメール やめようぜ! www.r3it.com
もうメールやめようぜ! と、何十年も前から言っているが、なかなか無くならない ● 生き残る様子なので、頑張って付き合いましょう... www.r3it.com
おわり www.r3it.com