Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Commuのメールで 困ったこととその対応
Search
株式会社Curious Vehicle
February 14, 2025
28
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Commuのメールで 困ったこととその対応
株式会社Curious Vehicle
February 14, 2025
More Decks by 株式会社Curious Vehicle
See All by 株式会社Curious Vehicle
AI Agent Harness 入門
curicle
0
6
クネビンフレームワークで考える最初の一歩
curicle
0
6
AIガバナンス
curicle
0
7
PQCが変える暗号の世界
curicle
0
49
最近流行ってるClaudeについて
curicle
0
17
ElasticsearchのHA構成について
curicle
0
27
機械学習で絶対音感になりたかった
curicle
0
20
BQにおけるSQLアンチパターンとslot消費削減策
curicle
0
35
VibeKanbanについて
curicle
0
16
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
Building Applications with DynamoDB
mza
96
7.2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
570
Bash Introduction
62gerente
615
220k
How to make the Groovebox
asonas
2
2.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Typedesign – Prime Four
hannesfritz
42
3.2k
エンジニアに許された特別な時間の終わり
watany
109
250k
Practical Orchestrator
shlominoach
192
12k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
Statistics for Hackers
jakevdp
799
230k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Transcript
Commuのメールで 困ったこととその対応 第44回勉強会
目次 • 招待メールのテストできない問題 • HTMLメール崩れる問題 • Gmailの迷惑メールに入っちゃう問題
招待メールのテストできない問題 • Commuのサインアップシーケンス ◦ TOP画面でメールアドレスを入力して登録ボタンを押す ◦ 招待メールを受け取る ◦ メールの中に記載されているURLをクリック ◦
登録情報を入力 ◦ 登録完了 ここがテストできない
どう対応したか • 開発効率的に実際にメールを投げるわけにもいかない • できれば自動テストにも対応させたい Pythonのsmtpdモジュールを使う
どう対応したか • Pythonのsmtpd.SMTPServerクラスを利用 ◦ SMTPServerを継承したクラスを実装 ◦ デーモンプロセスとして起動させて指定のポートで待ち受ける ◦ 受け取ったメールの情報を指定のパスのファイルに書き出す ◦
指定のパスのファイルにメールが書かれているのでそのURLをコピペ してサインアップを継続可能 ◦ メールアドレスを渡したら指定のパスからファイルを読み取り、本文を 返却するAPIを実装(開発でのみ動作)
開発サーバー どう対応したか commuプロセス SMTPServerプロセス APIで本文を みれるようにする メールを投げる 受け取ったメールを ファイル出力
HTMLメール崩れる問題 • 休眠ユーザーにカムバックメールを投げたい ◦ テキストだとアレなのでHTMLメールを投げる ◦ 対象はOutlookとGmail ◦ 今風に書いてもMacのOutlookとGmailでは問題ない ◦
WindowsのOutlookだとダダ崩れ _人人人人人人人人人人人人人人人人_ > WindowsのOutlookだとダダ崩れ <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
どう対応したか • HTML4ベースで書く ◦ 昔ながらのテーブルレイアウト ◦ CSSはすべてインライン ◦ imgの幅は属性で決める •
デバッグはVBAマクロを使う ◦ ここからマクロを持ってきて登録 ◦ 実行するとメモ帳でHTMLを編集可能 ◦ セーブするとプレビューできる
どう対応したか デモ
Gmailの迷惑メールに入っちゃう問題 • 登録メールがGmailの迷惑メールフォルダに入ってしまう ◦ サービス開始から特段対策は取っていなかった ◦ 先のHTMLメール等の施策を打つにあたり対策が必要に
どう対応したか • Amazon SESを利用する ◦ 無料でそこそこ(ひと月5万通まで)利用できる ◦ SPF、DKIMの設定が楽(Route53との連携が秀逸) ◦ そこまで効果があったかというと謎
• ドメインにSPF、DKIMレコードを追記する ◦ SESのドメイン検証でSPF、DKIMを設定する
どう対応したか • メールの内容も吟味する ◦ 登録用URLがcuricle.xyzだと迷惑メールに入ってしまう ◦ 複数ドメインのURLを混ぜない方が良いかも • 別サービスも検討する ◦
今回実装した対策がハマらない場合は別サービスも検討する ◦ SendGridというサービスがよさそう
まとめ • 全般的に地味かつ面倒な対応(特にHTMLメール) • HTMLメールのデバッグ方法は知っておくと便利 • SESはちょっと失敗したかも(SendGridにしとけば)
ご清聴ありがとうございました