技術レポート

大量メール配信の
高速化に挑む

MTA (MessageTransferAgent)
開発部
スペシャリスト
佐野 拓

分析と改善が品質性能アップの鍵

当初の配信エンジンでは、配信ログとしてメールアドレス単位で配信ステータス(成功・失敗・一時失敗など)や相手サーバーからの応答を記録していました。このシステムでも配信状況を詳しく把握できますが、SMTPレベルでの配信SMTPレベルでの通信エラーについては記録が無いため、相手サーバーとの通信に支障がでてしまっているようなケースでは、各サーバーの詳細なログを調べ直す必要がありました。
近年スパムメールが増えていることもあり、受信側のメールサーバーでの受信制限もより厳しいものになりつつあります。そのような中で、通信エラーをいち早く検出し、改善していく必要性が高まっていました。

細やかな調整が要

どのような送信だと相手サーバーから受信制限をされるのか、その閾値は送信側には分かりません。そのため、同時接続数などのパラメータを変えてみるなどして、送信速度と相手側への負荷のバランスが取れたポイントを探し出す必要があります。また、メールを受信する側がどのようなポイントで判断をするのかも、キャリア毎に違います。同時にどのくらいの接続をするかといった基本的なことだけではなく、エラーの発生率、一定時間での送信ボリュームなど、さまざまな要素が影響してきます。

メール配信MTAは何度か作り直していますが、最新の配信エンジンでは、メールアドレス単位の情報に加えて、相手サーバーとの通信状況についても別途ログを残すようにしています。メール配信時の通信では、相手サーバーにそもそも接続できなかったり、接続できた直後にエラー応答が返り送信処理まで進まなかったりすることがあります。複数の接続の内、一部の接続だけでエラーが出るような場合、全体では送信処理は進むため、これまでは通信がスムーズでないことに気づくことが困難でした。現在は、通信状況のログを収集し、送信元のサーバー、送信先のドメイン別などの切り口で、通信エラー件数などを集計できまるようになっています。例えば、「エラーアドレスのクリーニングが行われておらず、配信成功率が低くなっているサーバーはどこか」「接続エラーが多発している送信元サーバ・送信先ドメインはどこか」といった調査ができます。問題がありそうな箇所を特定後、その詳細ログを参照することで、原因を更に絞り込み、すばやく改善策を実施することが可能となりました。

大量の配信データを元に日々分析

安定した配信のためには、大量のデータから送信方法を見つけ出していく必要があります。詳細なログ分析データを一元管理して、日々のパラメータの変動を調査し、最適な値をシステムに反映できるようにしています。

SMTP通信レベルのエラーを短時間で集計できるようにしたことで、「配信が行えているか/行えていないか」ではなく、「通信がスムーズに行えているか/行えていないか」という、より品質を高めるための調査も行えるようになりました。前日など、過去のエラー発生状況を確認し、問題箇所の状況をドリルダウンして短時間で確認できるようになったため、問題を早期に解消できるようになりました。
お客様の設定ミスや運用不備によってエラーアドレスのクリーニングができずに配信してしまい受信ブロックされてしまったケースや、送信先サーバーの障害による通信エラーの多発などを簡単に見つけ出せるようになりました。
また、今までに経験したことがないDNSBLのブラックリストに登録されたことによるSMTP接続拒否などが発生した場合も、全サーバーの詳細ログをすぐに検索できるため、同様の問題が他サーバーで発生していないか即座に確認できるようになっています。

品質の高いメール配信システムを提供していきたい

メールの利用者は増え、新しいウェブメールサービスも増えています。メール配信では、速度だけに焦点を当てるのではなく、きちんとメールを届けられることが重要です。
この集計システムを使い、定期的に配信状況をモニタリングすることで、メールを相手サーバーにスムーズに届けられているか、確認することができます。
サーバー別や、送信先のドメイン別に、通信エラーの発生状況を確認したり、送信速度や応答のレスポンス速度などをしらべることができるようになっています。これらの情報を元に、配信パラメータを調整することで、いつでもスムーズにメールを届けられるサービスを提供していきたいと思っています。

高速メール配信エンジン


メールマガジン

ページの先頭へ