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
sendmagicってなんだっけ?
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Livesense Inc.
PRO
April 23, 2014
Technology
540
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
sendmagicってなんだっけ?
smtpの基礎とsendmagic、及び2014春にあったsendmagic配信遅延の原因について。
Livesense Inc.
PRO
April 23, 2014
More Decks by Livesense Inc.
See All by Livesense Inc.
Rubyはただの⾔語に⾮ず
livesense
PRO
0
520
28新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
120
27新卒_総合職採用_会社説明資料
livesense
PRO
0
7.1k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
12k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
540
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
1
1.8k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
680
26新卒_総合職採用_会社説明資料
livesense
PRO
0
13k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
74k
Other Decks in Technology
See All in Technology
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
120
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
20260912_スクラムにジェネラリストは必要か
ryugen04
0
420
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
1
520
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
0
2.6k
aws-iot-platform-architecture-use-cases.pdf
ma2shita
0
110
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
10Xに技術的負債をもたらした「2つの境界の歪み」その構造と解消への営み
10xinc
0
1.9k
AI時代、データエンジニアが一番おもろい
genshun9
0
590
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
140
空間オーディオで過去の 自分(ゴースト)と競うランニング 〜HealthKitのルートを足音に変える実装〜
nao_randd
0
210
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.5k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
690
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
280
Color Theory Basics | Prateek | Gurzu
gurzu
1
470
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
840
Abbi's Birthday
coloredviolet
4
10k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
240
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
Agile that works and the tools we love
rasmusluckow
331
22k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
390
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
confluenceを使いやすく
と予告したんですが。 今回、confluence用に作ってる機能拡張の紹介を しようと思ったんですが、微妙に進捗が悪いのと別 件で面白い話が出来たんで、急遽そっちの話にし ます。
sendmagicって なんだっけ? sendmagicの仕組みと性能について
sendmagicってなんだっけ? sendmagicが何をしてくれている物か僕は実は ちゃんとは把握してませんでした。 朧げながらこういうものかな?なイメージはありまし たが。
最近sendmagicでの送信が遅配されるという件で sendmagicを調査していたので、その情報を共有 しようと思います。
非エンジニアの方にもわかるように説明するつもり です。 少し説明しやすいように、所々簡略化する為のウ ソを交えます。
そもそもメール配信のしくみ A社内同士の場合(微妙に嘘入ってます) thunderbirdとか thunderbirdとか メール サーバー 外行き メール サーバー α部署用
メール サーバー β部署用 A社 外部
そもそもメール配信のしくみ 例としてA社からB社へ送った場合(微妙に嘘入ってます) thunderbirdとか thunderbirdとか メール サーバー 外行き メール サーバー α部署用
メール サーバー β部署用 メール サーバー 外から受 付用 メール サーバー 受信用 thunderbirdとか A社 B社
このように、遠く(インターネット的)にメールを送る 時には、何段もメールサーバーがバケツリレーをし て送ります。
また、本質的には、Thunderbirdもメールサーバー と変わりません。 みんなが入力したメールを他のメールサーバーに リレーしています。そしてバケツリレーの方法は サーバー間の方法と全く同じ方法でやってます。
非エンジニアさんへ 良くエンジニアがメールの障害があった時に ヘッダも込みで全部頂戴 というのは、この中継している情報が欲しいからで す。
到達性とリアルタイム性 最近では巷のサーバースペックやネットワークの 信頼性も上ってるので、メール到達性が向上して いますが、仕組み的には100%の到達性が保証出 来ない仕組みです。 また、バケツリレーをしているので、どんなにがん ばっても多少の遅配は発生します。
sendmagicとは、メール配信を • 出来るだけ確実 • 高速 に行なう為のミドルウェアです。 他、配信時刻制御とかログ解析しやすいとかX-SM-IDで色々出来るとか、色々ある けど、今回は割愛。 sendmagicってなんだっけ?
sendmagicの位置付け sendmagicも位置付けとしては中継するサーバー の一種です。 thunderbirdに相当するのが、エンジニアが作って いるアプリになります。
出来るだけ確実に? 今メールはspamが酷くて、その対処に各プロバイ ダー等は色々な施策を行なっています。
spf 一つには、dns(URL的な物(host名)からipアドレス (システムが理解出来る住所)への変換)の仕組み を使ったspfがあります。 spfはこのメールサーバーから送信されるメールは 基本spamじゃないよ。という名乗りです。 ここらへんからエンジニア職じゃない人にはわかりずらくなるかもしれませんが、ご容 赦の程を。
spf $ dig jobtalk.jp txt ….. ;; ANSWER SECTION: jobtalk.jp.
3600 IN TXT "v=spf1 include:spf.livesense.co.jp include:support.zendesk.com include:smtp. zendesk.com ~all" ….. $ dig spf.livesense.co.jp txt ….. ;; ANSWER SECTION: spf.livesense.co.jp. 906 IN TXT "v=spf1 ip4:202.32.221.247 ip4:202.32.221.248 ip4:180.214.38.128/25 ip4: 112.140.41.128/25 ip4:180.214.49.190/30 ip4:180.214.49.194/30 ip4:203.223.25.12/32 ip4:203.223.25.13/32 include: aspmx.googlemail.com ~all" ….. という感じで、jobtalk.jpからのメールはここのipからメール打つんで、それはspamじゃないよ宣言。
spfで防げる範囲 あくまでも、セキュリティの甘いメールサーバーや、 ウィルス感染したPCを利用したspamが防げるだ け。 spam業者 (jobtalk以 外のfrom) gmail.com jobtalk.jp
実は、特定ipからメールを送り過ぎると、それも spam判定される可能性がある。 jobtalk.jp gmail.com
[email protected]
[email protected]
[email protected]
違うメールアドレスでも、ドメインが同じだと同じサーバーに繋ぎに行きます。(微妙にウソ)
[email protected]
送信多すぎ。ぁゃιぃ
そこでsendmagicの出番 送信元のipアドレスをsendmagicが複数持ってい て、それを並列で使う事により、メール送り過ぎ判 定を少しでも避ける。 jobtalk.jp gmail.com sendmagic sendmagic
[email protected]
/
[email protected]
[email protected]
/
[email protected]
確実に? その2 指定ドメインに対する並列配送数の設定が簡単に 可能。 これが多すぎると接続のペナルティを課せられる 可能性がある。 ちなみに普通のsmtp server(postfixとか)にもdomain毎の並列配送数の設定が可 能だが、設定が結構ややこしい。
例えば、現在の設定だと、 • X-SM-IDにcronが入ってないgmailは12並列 (会員登録等のリアルタイム処理用) • cronが入っている場合は6並列(メルマガ配信等 用) など。
高速に。 先程紹介した並列処理による高速化もだし、単体 でのスループットも速い(らしい。ここはちょっと未検 証。他のミドルの基礎値を知らない為)。
実際メールを手で送ってみよう。 $ dig gmail.com mx | grep -E '^gmail.com' |
sort -nk 5 | head -n 1 $ telnet hoge 25 HELO jobtalk.jp MAIL FROM: <
[email protected]
> RCPT TO: <
[email protected]
> DATA From:
[email protected]
Subject: test this is test. . QUIT gmailの場合、応答 が遅い。
実際のスループット ログをdbに入れて集計してみました。 yahoo: 15000通 / 10分 gmail: 2100通 / 10分
( ゚д゚) ・・・ (つд⊂)ゴシゴシ (;゚д゚) ・・・ (つд⊂)ゴシゴシゴシ _,
._ (;゚ Д゚) …!? yahooの1 / 7以下 …..
今回メール送信が詰まった原因 メール送信の送信先指定にgmailが異様に時間が かかっている。 その為、gmailだけ詰まっている。実際sendmagic 自体にコマンドで問い合わせてもすごく溜ってい た。 他、sendmagicのパラメータにもチューニングの余 地あり。
ちなみに他の数値として 以下直近(3/28 金曜日21:00迄)10日間の集計値 総配信トライ数 8129538 内、リトライ回数 484457 (5.9%) 総リトライを断念して失敗した数 490832(なお送信失敗が確定したメールアドレスは
ブロックリストに登録され今後送信されなくなる) リアルタイム送信 / バッチ送信比率 • gmail: リアルタイム: 80000 / バッチ: 1700000 とバッチが20倍程 • yahoo: リアルタイム:73000 / バッチ: 2443000 とバッチが33倍程
現在の状況 • 元々sendmagicが落ちたり、ipが拒否された時用に active/standby構成になっていた。この内、standbyを jobtalkのメルマガ(cron)配信用に利用。 • そのjobtalkのメルマガ配信に使っているsendmagicの各種 パラメータやフィルターをチューニング中。 • 今、active/standby双方を使っているが、パラメータチュー
ニングで1台に寄せられるのか無理なのか、無理ならどうす るのかを調査中。