メールの到達に影響を与える4つの要因
- 2015年12月4日
- by SendGrid
- Category: ベストプラクティス
この記事は 4 Factors that Affect Email Deliverability の抄訳です。
SMTPについて掘り下げてきた本シリーズ。初回の「SMTPとメール」ではSMTPの歴史について、2回目の「SMTPとメールの到達率」では何をもってメールが到達したと考えるかについて取り上げました。そして最終回となる今回は、メールの到達率に影響する4つのキーファクターについて考えていきたいと思います。
メールを宛先に届かせるには、送信レピュテーション、送信ドメイン認証(SPFやDKIM)の設定、パーミッションの取得方法など、様々なことを考慮する必要があります。しかし、中でも重要なのが次の4つの要因です。
- メールインフラの健全性
- メールのコンテンツ
- メールの送信元
- 受信側サーバの可用性
1. メールインフラの健全性
メールが届くかどうかに大きく影響する要因として、当然、ネットワークやインフラの健全性が挙げられます。SMTPは「信頼性のあるネットワーク接続」と「DNS (Domain Name Service) による名前解決」を前提としています。これらの機能が阻害されると、メールは宛先に到達しません。
大抵の管理者はこのことを知っているので、メールを確実に受信するための措置を講じています。例えば、受信経路の冗長化のため、複数のMXレコードを設定しておくというのはよくある手法です。しかし、メールを送信する際に、受信側のサーバやDNS設定をコントロールすることはできません。「接続が安定しない」もしくは「DNSに問題がある」といった事態になれば、タイミング良くメールを届けることは難しいでしょう。
2. メールのコンテンツ
メールのコンテンツは、メールの到達性に大きく影響します。
コンテンツ(添付ファイルの有無、URL、本文、ヘッダの内容)によって迷惑メールやマルウェアを特定し、ブロックするという方法はよく使われています。
初期のメールフィルタは、特定のパターンやコンテンツにマッチしたもののみフィルタできるというかなり限定的なものでしたが、その後の改良で複数のサイトやサービスからの迷惑メール報告を集約することができる分散協調型フィルタが導入されました。このフィルタが持つ問題は、一度そのメッセージを迷惑メールだと判定すると、同じフィルタを使っている他のサイトでも問答無用でブロックしてしまうという点です。
3. メールの送信元
分散協調型フィルタは更なる改良を遂げ、送信元のレピュテーションをベースにフィルタリングできるようになりました。レピュテーションの計算方法はフィルタによって異なりますが、考え方は同じで、以下のような情報から算出されます。
- メールの送信元に関する情報:送信元IPアドレスやドメインなど
- 送信者の過去の行い:単位時間あたりの送信量や、それらのメールに怪しいところがあったかなど
- メールのコンテンツ
- 迷惑メール報告の有無
例えば、1日あたり1,000通のメールを送信していた企業が、突如1日10,000通のメールを送信し始めたという場合、正当な企業であってもフィルタリングの対象となる可能性があります。また、メールに問題のあるコンテンツを含めてしまった場合も同様です。これらのフィルタは効果的ですが、問題も抱えています。
1つには、迷惑メール業者に操作されないよう、ISPは頻繁に評価アルゴリズムを変更しており、メールがフィルタリングされてしまった際にその原因を特定することが難しいという点があります。他にも、IPアドレスを変更した場合、新しいIPアドレスのレピュテーションが低ければメールがフィルタリングされてしまう可能性があります。つまり、何も悪いことをしていなくても、IPアドレスの変更やメールサーバを別のネットワークに移行することによって、メールがフィルタリングされてしまう恐れがあるということです。
当然ながら、自分でSMTPサーバを運用する場合は、あなたがメール配信元としての責任を負うことになります。例えば仮に、そのSMTPサーバがオープンリレーになっていたとします。迷惑メール業者や主なRBLベンダーが使っている自動スキャニングツールによってその設定ミスが発覚した時には、もうそのサーバはブラックリストに登録されてしまっていることでしょう。SMTPサーバをインターネットに公開したからには、それを監視し、保守する責任があります。
4. 受信側サーバの可用性
メールが届くかどうかは、受信側のシステムが利用可能な状態にあるかどうかにも依存します。SMTPは蓄積交換型プロトコルのため、受信側サーバが利用可能な状態にない場合、一般的に送信側サーバは一定期間キューイングします。マルチサーバ環境の場合はペリメータサーバ(perimeter server)に配信されますが、受信側のメールボックスが利用できない場合(宛先メールボックスのDBがオフラインになっている、もしくは中間サイトのリンクが切れているなど)はペリメータサーバが一旦保持し、後ほど配信します。
メール到達性の向上
メールの到達性を上げることは、ビジネスにおけるコミュニケーションの効率化やコスト効果の向上に繋がります。まずは、良いツールと計測プロセスを整備し、配信できなかったメールのデータを取得しましょう。時間をかけてこれらの指標をトラッキングすることで、傾向やパターンをすばやく把握し、手に負えなくなるほど問題が悪化する前にその兆候を見つけることができるようになります。
また、こういったデータを分析していると、メール配信問題の原因が分かります。例えば、「DNSサーバの設定が適切にされていない」または「逆引きDNSレコードやSPFレコード、DKIMレコードが正しくない」といった状態になっていれば、正しい宛先にメールを届けることはできない(もしくは届くのが遅い)でしょう。配信間隔やキューの長さをチェックしていれば、このような変化がはっきりと分かります。
そして、キューの長さだけでなく、サーバのログもよく見てください。多くのISPはエラー時に独自の応答コードを返しますが、これらは通常SMTPサーバ(MTA)のログとして確認することができます。これらのエラーメッセージの中には、ISPが用意した長くて面倒なフォームへの入力を求めるものもありますが、これはISPに正当な送信者として認めてもらうために必要なものです。
運用状況をモニタリングしていると、メールの配信に影響しそうなネットワークやインフラの問題の兆候が分かります。モニタリングするためのリソースがない場合は、SendGridがお役に立ちます。SendGridにはトラッキングやアナリティクスの機能があるだけでなく、メール配信のエキスパートがサポートしてくれます。