kof 2011 bouncehammerによるバウンスメール解析の技術

59
2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki bounceHammerによる バウンスメール解析の技術 Cubicroot Co. Ltd. @azumakuniyuki

Upload: azuma-kuniyuki

Post on 24-Jun-2015

5.005 views

Category:

Documents


1 download

DESCRIPTION

オープンソースで公開中のbouncehammerを使ったバウンスメール処理を解説します。システムの概要、SMTPとバウンスメール、導入事例を紹介。

TRANSCRIPT

Page 1: KOF 2011 bounceHammerによるバウンスメール解析の技術

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

bounceHammerによるバウンスメール解析の技術

Cubicroot Co. Ltd.@azumakuniyuki

Page 2: KOF 2011 bounceHammerによるバウンスメール解析の技術

自己紹介

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 3: KOF 2011 bounceHammerによるバウンスメール解析の技術

自己紹介- Azuma, Kuniyuki- @azumakuniyuki- サーバ管理者(*BSD, Linux, 昔はSolarisも)- プログラマ(Perl,/bin/sh, たまにC,R)- 京都市中京区

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 4: KOF 2011 bounceHammerによるバウンスメール解析の技術

サーバ管理者- FreeBSD(98) → FreeBSD 4.9→ OpenBSD- NetBSDは未経験- 最近はLinuxが殆ど - CentOS, Fedora, RHEL, Ubuntu

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 5: KOF 2011 bounceHammerによるバウンスメール解析の技術

メールサーバ管理者- Sendmail → Postfix → Sendmail(再)- /etc/sendmail.cf - CF(WIDE), cf, m4 - たまにルールセットを書く - 柔軟な処理ができる

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 6: KOF 2011 bounceHammerによるバウンスメール解析の技術

プログラマ- Perl (2008年秋からモダンPerlを勉強)- /bin/sh (サーバでの処理は殆ど)- C(学生時代少し) ←殆ど知らない- Java(JDK 1.0, 1.1の頃)- PHP(PHP/FIの頃, 2.0, 3.0)- R(最近、統計処理のため)

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 7: KOF 2011 bounceHammerによるバウンスメール解析の技術

Perl- /bin/shで書きにくい場合はPerl- 2008年秋からモダンPerlを勉強 - モダンPerl入門+CPANモジュールガイド- YAPC::Asia- Kansai.pm(→11/26@京都)

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 8: KOF 2011 bounceHammerによるバウンスメール解析の技術

bounceHammer ?

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 9: KOF 2011 bounceHammerによるバウンスメール解析の技術

bounceHammer- ばうんすはんまー- バウンスメール解析専用- 配信システムではない- コマンドラインツール+WebUI- Made by Perl, OpenSource!- 2010年春に公開

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 10: KOF 2011 bounceHammerによるバウンスメール解析の技術

バウンスメール ?

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 11: KOF 2011 bounceHammerによるバウンスメール解析の技術

バウンスメール- エラーで返ってきたメール- 中身はだいたい英語 - 稀に日本語で書いてる- リターンメールとか不達メール

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 12: KOF 2011 bounceHammerによるバウンスメール解析の技術

From:- MAILER-DAEMON- Mail Delivery Subsystem- Mail Administrator- Postmaster@...

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 13: KOF 2011 bounceHammerによるバウンスメール解析の技術

Subject:- Returned mail: see transcript for …- failure notice- Undelivered Mail Returned to …- Delivery Failure- 配信エラー

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 14: KOF 2011 bounceHammerによるバウンスメール解析の技術

バウンスした理由- 宛先不明(User Unknown)- メールボックスいっぱい(Mailbox full)- ドメイン指定拒否(携帯電話)- セキュリティ的な理由(スパム扱い, Virus)- DNS的な理由(逆引きない, SPFの不備)- 不明なホスト(サービス終了, ドメイン違う)- MTA管理者が怒ってる(行儀悪い配信)

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 15: KOF 2011 bounceHammerによるバウンスメール解析の技術

メール本文- 英語で書いてる- エラーコードがあればよい- どれも似ている

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 16: KOF 2011 bounceHammerによるバウンスメール解析の技術

例) @docomo.ne.jp- Sendmail経由でDoCoMoに送った場合- 本文はほとんど同じ宛先不明 ドメイン指定拒否

← エラーコード(D.S.N.)が少し違う →

(reason: 550 Unknown user ****@docomo.ne.jp)

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 17: KOF 2011 bounceHammerによるバウンスメール解析の技術

目視で見分ける2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 18: KOF 2011 bounceHammerによるバウンスメール解析の技術

バウンスメールの処理

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 19: KOF 2011 bounceHammerによるバウンスメール解析の技術

バウンス処理は- 確実にやるべき- 正確にやるべき- 配信数が少なくてもやるべき- メール1通でも送るならやった方がいい

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 20: KOF 2011 bounceHammerによるバウンスメール解析の技術

バウンス処理を放置すると- 携帯宛はブロックされる - 遅延が発生する - 配信時間がかかる - メールサーバの負荷上昇- 有効配信数がわからない

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 21: KOF 2011 bounceHammerによるバウンスメール解析の技術

放置した事例1- 携帯電話宛の宛先不明が多発 - 消し込み処理やらずに継続配信 - SMTP接続が拒否される(一時的) - 大規模な遅延が発生 - メールサーバの負荷上昇 - 別のIPアドレスでMTA構築(コスト↑)

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 22: KOF 2011 bounceHammerによるバウンスメール解析の技術

放置した事例2- 宛先不明やMailbox Fullが多発 - 消し込み処理やらずに継続配信 - SMTP接続が拒否される(128IPs!) - DNSBLに登録された - 解除してもらうまで時間がかかる - 別のIPアドレスでMTA構築(コスト↑)

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 23: KOF 2011 bounceHammerによるバウンスメール解析の技術

バウンス処理を実装する- たいへん- パターンが多い ← 正規表現たくさん書く - MTA毎に違う(Sendmail,Postfix,qmail,..) - 宛先毎に違う(Gmail,Yahoo!,Hotmail,…) - エラー毎に違う- 正しく解析すべき

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 24: KOF 2011 bounceHammerによるバウンスメール解析の技術

雑に実装した事例- 簡単な一枚スクリプトで実装- エラーメールが返ってきたら無条件で削除 - 宛先不明ならそれでもOK - Mailbox Fullや一時エラーでも削除した - ユーザからクレーム - 「急にメールが来なくなった」

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 25: KOF 2011 bounceHammerによるバウンスメール解析の技術

バウンス処理は- 確実にやるべき- 正確にやるべき- 配信数が少なくてもやるべき- メール1通でも送るならやった方がいい

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 26: KOF 2011 bounceHammerによるバウンスメール解析の技術

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 27: KOF 2011 bounceHammerによるバウンスメール解析の技術

bounceHammer- バウンスメールの解析専用- サーバで動く- コマンドラインツール- WebUI(ブラウザベースの管理画面)- HTTP-API(読み取り専用)- http://example.bouncehammer.jp/

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 28: KOF 2011 bounceHammerによるバウンスメール解析の技術

使う利点- バウンスした理由が正確にわかる- バウンス記録を構造化して保存できる- ブラウザベースの管理画面でアドレス管理- メール配信の合理化と健全化- 自前でバウンス処理を実装しなくてよい

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 29: KOF 2011 bounceHammerによるバウンスメール解析の技術

できること- バウンスメールの解析- エラーの理由を特定する - 宛先不明・拒否・容量超過(全19種類)- 宛先分類(携帯/スマホ/PC/Webメール)- YAML/JSON/CSVで結果を出力- DB(MySQL,PostgreSQL,SQLite)に保存

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 30: KOF 2011 bounceHammerによるバウンスメール解析の技術

役立つ場面- オープンソースのMTAで配信している - Sendmail, Postfix, qmail, Exim, Courier- バウンス処理してない OR 緩い - あまり正確にやっていない- そこそこたくさん配信している - 配信数 > 100/Day

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 31: KOF 2011 bounceHammerによるバウンスメール解析の技術

役立つ人々- コンテンツプロバイダ - 通知でメールが飛ぶ- メールマガジンスタンド- メール配信があるところ全部- まだバウンス処理していない人

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 32: KOF 2011 bounceHammerによるバウンスメール解析の技術

bounceHammerのユーザ- 携帯向けポータルサイト(含BBS)- SNS(通知関係でメールが飛ぶ)- 転職サイト- オンラインショップ・通販- レンタルサーバ- 海外も少し

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 33: KOF 2011 bounceHammerによるバウンスメール解析の技術

@type様- 国内最大級の転職サイト- キャリアデザインセンター様- @type, 女の転職@type- 150万Users(2010冬)- 配信数1200万通/月(2010冬)- 私の年収...

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 34: KOF 2011 bounceHammerによるバウンスメール解析の技術

コマンドツールの機能

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 35: KOF 2011 bounceHammerによるバウンスメール解析の技術

動作環境- Perl 5.8.8以上といくつかのモジュール- *BSD, Linux, MacOS X- MySQL, PostgreSQL, SQLite(保存用)- Apache(WebUI・管理画面)- IE以外のブラウザ(WebUI・管理画面)

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 36: KOF 2011 bounceHammerによるバウンスメール解析の技術

対応MTA- オープンソースのMTA - Sendmail, Postfix, qmail, Exim, Courier - 将来対応→OpenSMTPD, Apache James- 国内携帯電話キャリア - NTT DoCoMo, au by KDDI, SoftBank- ユーザ数の多いWebメール - Gmail, Yahoo!, Hotmail, Facebook, AOL

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 37: KOF 2011 bounceHammerによるバウンスメール解析の技術

解析処理(mailboxparser)- UNIX mbox, Maildir/, 複数指定可- STDIN(パイプで)- /etc/aliasesから起動 - bounce: "|mailboxparser --log"- /etc/crontabから定時処理- 解析できなかったものだけ保存(2.7.7から)

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 38: KOF 2011 bounceHammerによるバウンスメール解析の技術

解析処理(mailboxparser)UNIX mboxを引数に# bin/mailboxparser /var/mail/hoge

2つのMaildir/を引数に$ bin/mailboxparser ~/Maildir/cur ~/Maildir/new$ cat /var/mail/fuga | bin/mailboxparser

バウンスメール受信と解析・DB保存をリアルタイムに$ tail /etc/mail/aliasesbounce: "| mailboxparser | databasectl --update"

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 39: KOF 2011 bounceHammerによるバウンスメール解析の技術

解析結果(mailboxparser)JSON# bin/mailboxparser --format json /var/mail/piyo[ { "bounced": 2, "addresser": "[email protected]", "recipient": "[email protected]", "senderdomain": "cubicroot.jp", "destination": "example.jp", "reason": "userunknown", "hostgroup": "reserved", "provider": "reserved", "frequency": 1, "description": { "deliverystatus": "5.1.1", "diagnosticcode": "SMTP; 550 Invalid recipient: <[email protected]>", "smtpagent": "Sendmail", "timezoneoffset": "+0900" }, "token": "6b15f26a2069e07d3e09cf30a03ac12d" } ]

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 40: KOF 2011 bounceHammerによるバウンスメール解析の技術

解析結果(mailboxparser)アスキーテーブル$ bin/mailboxparser --format asciitable ~/Maildir/cur+----+---------------------+-------------------------+-----------------------------------------------------------+---------+-------------+| # | Date | Addresser | Recipient | Stat | Reason |+----+---------------------+-------------------------+-----------------------------------------------------------+---------+-------------+| 1 | 2008/09/18 17:54:04 | [email protected] | [email protected] | 5.1.2 | hostunknown || 2 | 2009/04/28 08:17:47 | [email protected] | [email protected] | 5.1.1 | userunknown || 3 | 2009/03/05 06:28:12 | [email protected] | [email protected] | 5.2.2 | mailboxfull || 4 | 2008/09/17 22:25:40 | [email protected] | [email protected] | 5.2.0 | filtered || 5 | 2009/04/28 08:38:49 | [email protected] | [email protected] | 5.3.4 | mesgtoobig || 6 | 2008/12/08 11:04:57 | [email protected] | [email protected] | 5.0.911 | userunknown |…+----+---------------------+-------------------------+-----------------------------------------------------------+---------+-------------+| | | | Total | 37 | |'----+---------------------+-------------------------+-----------------------------------------------------------+---------+-------------'

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 41: KOF 2011 bounceHammerによるバウンスメール解析の技術

解析結果を利用する- 解析結果はYAML(標準)かJSON- CSV出力にも対応(表計算ソフトで眺める)- MTAで利用(access.dbとか)- 配信プログラムで利用(消し込みとか)- サイトでバウンス照合 - 「○月○日に送ったメールはエラーで…」

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 42: KOF 2011 bounceHammerによるバウンスメール解析の技術

解析速度(mailboxparser)- Linode (Xeon L5520(4) 2.27GHz)- 512MB Memory- Ubuntu 10.4 LTS- UNIX mbox = 約500通/秒- Maildir/ = 約200通/秒

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 43: KOF 2011 bounceHammerによるバウンスメール解析の技術

出力(datadumper)1年以内にバウンスした記録をYAMLで出力$ bin/datadumper --howrecent 1y --format yaml

宛先不明でバウンスした記録をJSONで出力$ bin/datadumper --reason 'userunknown' --format json

携帯電話宛のバウンス記録をCSVで出力$ bin/datadumper --hostgroup 'cellphone' --format csv

Gmail宛のバウンス記録を出力$ bin/datadumper --destination gmail.com

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 44: KOF 2011 bounceHammerによるバウンスメール解析の技術

出力結果の利用1配信プログラムいじれない OR MTAに処理させたい# cd /etc/mail

# data dumper --format csv --reason 'userunknown' \> | cut -d, -f3 | grep '@' | sed \> -e 's/^/To:/g' -e 's/$/ DISCARD/g' > ./access

# make map hash access.db < access

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 45: KOF 2011 bounceHammerによるバウンスメール解析の技術

出力結果の利用2配信プログラムに解析結果を処理させる$ datadumper > /tmp/bounce.yaml----------------------------------------------------------#!/usr/local/bin/perluse JSON::Syck;my @A = 配信対象のメールアドレス配列;my @B = JSON::Syck::LoadFile("/tmp/bounce.yaml");foreach my $e ( @A ){ unless( grep { $e eq $_->{recipient} } @B ){ バウンスの記録に一致しないので配信する処理; }}

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 46: KOF 2011 bounceHammerによるバウンスメール解析の技術

管理画面(WebUI)の機能

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 47: KOF 2011 bounceHammerによるバウンスメール解析の技術

ダッシュボード2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 48: KOF 2011 bounceHammerによるバウンスメール解析の技術

検索結果2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 49: KOF 2011 bounceHammerによるバウンスメール解析の技術

解析テスト2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 50: KOF 2011 bounceHammerによるバウンスメール解析の技術

日々の更新記録2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 51: KOF 2011 bounceHammerによるバウンスメール解析の技術

English2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 52: KOF 2011 bounceHammerによるバウンスメール解析の技術

HTTP-APIの機能

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 53: KOF 2011 bounceHammerによるバウンスメール解析の技術

HTTP-API- サイト側でアドレスの状態を確認- ユーザのページに表示させる - 「登録されているメールアドレスは…」 - 拒否設定解除を促す- JSONが読める言語ならなんでもOK

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 54: KOF 2011 bounceHammerによるバウンスメール解析の技術

HTTP-APIで照合サイト側プログラムでバウンス照合#!/usr/local/bin/perluse JSON::Syck;use LWP::UserAgent;my $A = 'ユーザのメールアドレス';my $H = 'http://localhost/b.cgi/search/recipient/';my $U = new LWP::UserAgent();my $R = $U->request( HTTP::Request->new( GET => $H.$A ));my $J = JSON::Syck::Load( $R->content() ) || [];

foreach my $e ( @$J ){ 内容を取得; いろいろ処理; }

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 55: KOF 2011 bounceHammerによるバウンスメール解析の技術

オープンソース以外のMTA

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 56: KOF 2011 bounceHammerによるバウンスメール解析の技術

MTAは多種多様- オープンソースのMTA - ソースコードからエラーのパターンを取得- フリーのWebメールサービス - サンプル収集・帰納的- それ以外のMTAは? - Exchange, Lotus, MailFoundry, - Amazon SES, SendGrid,…

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 57: KOF 2011 bounceHammerによるバウンスメール解析の技術

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 58: KOF 2011 bounceHammerによるバウンスメール解析の技術

商用MTA・アプライアンス- Exchange, Lotus Notes/Domino, - MailFoundry, McAfee, m-FILTER, - Amazon SES, SendGrid,… 14種類対応- ライセンス販売

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki

Page 59: KOF 2011 bounceHammerによるバウンスメール解析の技術

11/14(Mon)bouncehammer 2.7.7

Release

2011/11/12(Sat) / KANSAI OPEN SOURCE 2011/ bounceHammerによるバウンスメール解析の技術 / Cubicroot Co. Ltd. @azumakuniyuki