Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Laravel Sail9から導入されたMailhogの後継Fake SMTP/mailpitを使ってみた

Laravel Sail9から導入されたMailhogの後継Fake SMTP/mailpitを使ってみた

【M&Aクラウド】PHPerKaigi2023(勝手に)リジェクトカンファレンスにおける一般LT発表の登壇資料です。

■イベント情報
https://macloud.connpass.com/event/269577/

■今後のイベントについてはこちら
https://yumenosora.connpass.com/

■虎の穴ラボ 採用サイト
https://yumenosora.co.jp/tora-lab/

More Decks by 虎の穴ラボ株式会社

Other Decks in Programming

Transcript

  1. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    Laravel Sail9から導入された
    Mailhogの後継Fake SMTP/mailpit
    を使ってみた
    1
    虎の穴ラボ
    Kengo Yoshida

    View Slide

  2. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    アジェンダ
    2
    1. 自己紹介
    2. なぜこのテーマにしたのか
    3. 性能比較
    4. そのほか試したこと
    5. まとめ

    View Slide

  3. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    自己紹介
    3

    View Slide

  4. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    4
    1. 自己紹介
    4
    Kengo Yoshida
    ● 虎の穴ラボ / 通販チーム
    ● 入社理由
    ○ スキルを高め合える勉強熱心な仲間が欲しい
    ○ 周りが つよつよエンジニア ばかりな状況で揉まれた

    ○ 自分の大好きなオタクという文化になにかしらの形で
    関わって、発展に貢献したい
    twitter: @samurai_se

    View Slide

  5. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    5
    補足 虎の穴ラボとは
    5
    クリエイター支援プラットフォーム
    世界最大規模の同人EC

    View Slide

  6. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    6
    補足2 …というより宣伝
    カジュアル面談
    Connpass : blessing software
    採用ページ

    View Slide

  7. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    なぜこのテーマにしたのか?
    7

    View Slide

  8. 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のパフォーマ
    ンスが悪いと言っている

    View Slide

  9. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    mailpitがmailhogを作り直した理由の要約
    9
    ● MailHogは性能面で問題を抱えている
    ● モジュールが古く、最近は活発に開発されていない
    ● 大量メールや添付ファイルがあるメールを処理するとパ
    フォーマンスが良くない
    ● APIは余計なデータを送信している
    ● 以上を解消するにはソースを一から書き直す必要があっ

    View Slide

  10. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    そんなに?
    ということで性能比較
    10

    View Slide

  11. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    簡単に試してみる
    11
    1. メール送信の直前直後にログを仕込む
    2. MailHog,mailpitそれぞれに対して1MBの添付ファ
    イルを付けてメール送信を行う
    3. ログの時間から処理時間を計測

    View Slide

  12. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    テストで1件メールを飛ばした時点で…
    12
    MailHog -> 約24秒
    mailpit -> 約500ミリ秒
    圧倒的!!

    View Slide

  13. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    そのほか試したこと
    13

    View Slide

  14. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    試したこと
    14
    ● APIを使ったメール取得、削除
    ● SMTPSの有効化
    ● SMTP_AUTHの有効化
    詳しくはこちらの記事に

    View Slide

  15. Copyright (C) 2023 Toranoana Inc. All Rights Reserved.
    15
    ご静聴ありがとうございました!!
    Connpass : blessing software
    採用ページ
    twitter: @samurai_se

    View Slide