Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Laravel Sail9から導入された Mailhogの後継Fake SMTP/mailpit を使ってみた
Search
Kanon
February 13, 2024
Technology
0
42
Laravel Sail9から導入された Mailhogの後継Fake SMTP/mailpit を使ってみた
Kanon
February 13, 2024
Tweet
Share
More Decks by Kanon
See All by Kanon
ヘルシープログラマになるための作業環境 - 作業環境自慢LT会
ysknsid25
1
28
技術書典16で頒布予定の新刊告知 - 技術同人誌を紹介LT会
ysknsid25
1
14
なぜAWS S3ではなく Cloudflare R2を選ぶの? - Cloudflare Meet-up Osaka #4
ysknsid25
4
260
令和版ソフトウェアエンジニアの情報収集術 PHPカンファレンス香川2024
ysknsid25
4
910
ソフトウェアエンジニア観に影響を与えたアニメ・漫画の名言
ysknsid25
0
34
PHPカンファレンス小田原2024
ysknsid25
5
800
PHP"オレ"カンファレンスの告知
ysknsid25
0
450
なぜ人は組織から去っていくのか?
ysknsid25
0
55
GASとChatGPTを組み合わせてZennとQiitaの急上昇記事を紹介するTwitter botを作った
ysknsid25
0
20
Other Decks in Technology
See All in Technology
OpenID Foundation updates
fujie
0
260
AWSの生成AI入門書を執筆しました🎉
minorun365
PRO
0
160
エムスリーマルチデバイスチーム紹介資料 / Introduction of M3 Multi Device Team
m3_engineering
1
180
株式会社EventHub・エンジニア採用資料
eventhub
0
2.1k
SLOいつ決めましょう?
abnoumaru
3
890
知識と実践を紡ぐGenAI / Connecting Knowledge and experience with GenAI
aki_moon
2
190
Google Cloud Next '24 Recap in ZOZO AIにより変わる開発 運用/Development and operation changed by AI
gachimuchiengineer
0
220
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
16
6.7k
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
36k
My road to OSEE Part1
yunolay
0
130
Trade-offs all the way down
_aitor
1
120
技術力の伸ばし方を考える
khirata
0
150
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
Optimizing for Happiness
mojombo
371
69k
Why Our Code Smells
bkeepers
PRO
331
56k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Happy Clients
brianwarren
92
6.4k
GitHub's CSS Performance
jonrohan
1025
450k
The Brand Is Dead. Long Live the Brand.
mthomps
49
31k
Being A Developer After 40
akosma
67
580k
A designer walks into a library…
pauljervisheath
201
23k
Practical Orchestrator
shlominoach
183
9.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
Building Adaptive Systems
keathley
32
1.9k
Transcript
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. Laravel Sail9から導入された
Mailhogの後継Fake SMTP/mailpit を使ってみた 1 虎の穴ラボ Kengo Yoshida
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. アジェンダ 2
1. 自己紹介 2. なぜこのテーマにしたのか 3. 性能比較 4. そのほか試したこと 5. まとめ
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 自己紹介 3
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 4 1.
自己紹介 4 Kengo Yoshida • 虎の穴ラボ / 通販チーム • 入社理由 ◦ スキルを高め合える勉強熱心な仲間が欲しい ◦ 周りが つよつよエンジニア ばかりな状況で揉まれた い ◦ 自分の大好きなオタクという文化になにかしらの形で 関わって、発展に貢献したい twitter: @samurai_se
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 5 補足
虎の穴ラボとは 5 クリエイター支援プラットフォーム 世界最大規模の同人EC
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 6 補足2
…というより宣伝 カジュアル面談 Connpass : blessing software 採用ページ
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. なぜこのテーマにしたのか? 7
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 気づけばLaravelが使っているFake SMTPが変わってた
8 Laravel Sail(8系)ではmailhogが使われている Laravel Sail(9系/10系)ではmailpitが使われている mailpitのREADMEを読むと… Why rewrite Mailhog? mailhogはAPIのパフォーマ ンスが悪いと言っている
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. mailpitがmailhogを作り直した理由の要約 9
• MailHogは性能面で問題を抱えている • モジュールが古く、最近は活発に開発されていない • 大量メールや添付ファイルがあるメールを処理するとパ フォーマンスが良くない • APIは余計なデータを送信している • 以上を解消するにはソースを一から書き直す必要があっ た
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. そんなに? ということで性能比較
10
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 簡単に試してみる 11
1. メール送信の直前直後にログを仕込む 2. MailHog,mailpitそれぞれに対して1MBの添付ファ イルを付けてメール送信を行う 3. ログの時間から処理時間を計測
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. テストで1件メールを飛ばした時点で… 12
MailHog -> 約24秒 mailpit -> 約500ミリ秒 圧倒的!!
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. そのほか試したこと 13
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 試したこと 14
• APIを使ったメール取得、削除 • SMTPSの有効化 • SMTP_AUTHの有効化 詳しくはこちらの記事に
Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 15 ご静聴ありがとうございました!!
Connpass : blessing software 採用ページ twitter: @samurai_se