Webは日々進化を続け,
筆者はそんなメールに焦点を当ててバウンスメール
バウンスメールとは
バウンスメールとは,
バウンスメールでは,
バウンスメールを放置すると...
その配信する量の大小にかかわらず,
遅延の発生
メールサーバ管理者は,
前述の対策は,
遅延が発生してしまうと,
- 注1)
- SMTP応答の遅延です。
- 注2)
- 初回接続時に一時エラーを返し,
再接続してきたらメールを受けとるしくみです。 - 注3)
- DNS-Based Blackhole List
携帯電話宛での遅延/受信ブロック
日本国内の携帯電話宛メール配信では事情はもっと厳しくなります。送信するメールの宛先に宛先不明アドレス/
有効なメールアドレスの把握ができない
多くのメールを送信するWebサイトやメールマガジンでは,
メール本文内に広告を入れている場合は,
BounceHammerの特徴
バウンスメールは確実に処理すべき
前節ではバウンスメールを放置したことによるデメリットを述べました。筆者は配信するメール量の多少にかかわらずバウンス処理は確実に行うべきであると考えています。バウンス処理をすることによって,
- 注4)
- 遅延や受信ブロックは他にも要因があります。
BounceHammerとは?
BounceHammerはオープンソースのバウンスメール解析システムです。バウンスメールを解析し,
ネットワークへの追加が容易
バウンスメール処理専用システムなので,
オープンソースのMTAに対応
BounceHammerはSendmail,
エラー理由が正確にわかる
BounceHammerは,
表1 おもなエラー理由
エラー理由 | エラーの説明 |
---|---|
不明なホスト | @の右側が存在しないドメイン |
宛先不明 | @の左側が存在しないユーザ |
ドメイン指定拒否 | メールアドレスは存在するが受信拒否されている |
メールボックスいっぱい | 宛先アドレスのメールボックスがいっぱい |
メールが大きすぎる | 送信したメールのサイズがメールサーバの許容値を超えた |
何らかのバウンスメールが返ってきたら,
エラーになった理由ごとに適切な対処をすれば,
- 注5)
- スマートフォンや著名なWebメールにも対応しています。
読みにくいバウンスメールを構造化する
BounceHammerは解析したバウンスメールの内容をYAML形式で出力します。YAML形式の解析結果は1行1レコードで書き出しているので,
Webブラウザベースの管理画面
BounceHammerは基本的にコマンドライン上ですべての操作を行います。しかし,
そこで図2のようなWebブラウザベースの管理画面
- 注6)
- システム上ではWebUIと称しています。
HTTPベースのAPI
BounceHammerはHTTPベースの簡易なAPIを持っていて,
図3 HTTP-APIでJSON形式のデータを得る
< curl http://apitest.bouncehammer.jp/modperl/a.cgi/search/recipient/user01@example.org
[ { "bounced": 1234567890, "addresser": "sender01@example.jp", "recipient": "user01@example.org",
"senderdomain": "example.jp", "destination": "example.org", "reason": "exceedlimit", "hostgroup":
"reserved", "provider": "rfc2606", "frequency": 1, "description": { "deliverystatus": 500,
"diagnosticcode": "Example1", "timezoneoffset": "+0900" }, "token": "8dbb1b9ce9cc47eb6bb1316096c858cd" } ]
↑実際は1レコード1行で表示される
- 注7)
- HTTPベースのAPIは,
JavaScriptでも処理できるようにYAMLではなくJSONで出力しています。