メールがInboxに届くまで
- 2015年9月11日
- by SendGrid
- Category: 技術ネタ
この記事は Email Message Flow 101: How SendGrid Helps Your Email’s Journey to the Inbox の抄訳です。
SendGridは2009年の創業以来沢山のお客さまのメール配信をお手伝いしてきました。
コンテンツの作成からメールキャンペーンの効果測定まで、多くの機能をご提供していますが、実は一番基本となるメール送信について、送信者からInboxに届くまでの複雑なプロセスを多くの方はご存知ありません。
本記事ではメールがInboxに届くまでの仕組みと、簡単に届けることができるようにSendGridが何をやっているのかをご説明します。
以下の図ではメールがInboxに到達するまでに通過する主要な経路を表しています。もちろんもっと細かく見ていくことも可能ですが、基本的な動きを理解するためにシンプルに表現しています。
まず、送信者は相手に送り届けたいコンテンツを作成します。そして準備ができたらSMTP(Simple Mail Transfer Protocol)を利用してメッセージを届けます。このSMTPを利用したやりとりは握手(ハンドシェイク)を想像すると理解しやすいかもしれません。
とあるパーティ会場にいることを想像してみてください。そこではパーティの主催者がゲストそれぞれと握手と会話をしてまわります。
- 送信者 = 主催者
- 宛先(および宛先サーバ) = ゲスト
と考えるとSMTPでもまさに同じことが発生していて、宛先は送信者と握手、会話をしてからそのメッセージを受け取るかどうか判断するのです。SendGridは宛先と送信者の間にたって、その会話を補助する役目をおっています。
ハンドシェイクの詳細
送信者はSendGridを通してSMTPサーバに最終目的地である宛先を伝えます。例えばそれがperson@customer.comだったとしましょう。SMTPサーバは”customer.com”をドメインとして認識し、そのドメインを担当している宛先サーバに接続します。そして色々な情報を交換した後、宛先サーバは以下の様なレスポンスを返します。
- OK. その人(宛先)を知っていますし、そのInboxにお届けします。
- OK. その人を知っていますし、メッセージをお届けしますがInboxには入りません。
- OK. その人を知っていますが、他にもいくつか確認したいことがあるので、今すぐには宛先にお届けできません。ただし、メッセージを送信者に送り返したりはしません。(いわゆるDeferredメッセージ)
- NG. その人を知らないので、メッセージは送信者にお返しします。(いわゆるBounceメッセージ)
到達性を決める要因
先に述べたとおり送信サーバと宛先サーバは様々な情報を交換します。宛先サーバは信頼に足る送信元かどうかを判断するための情報を必要としますが、SendGridでは送信サーバ(Outbound Mail Server)部分のDNSと、認証(Authenticate)の部分でそれをサポートします。(冒頭の図参照)
■DNS
DNSはインターネット上の電話帳のようなものです。もちろん送信サーバの情報も掲載されているので、宛先サーバはDNSを参照して送信元が誰なのか、また信頼できるのかを判断します。
■認証(Authentication)
宛先サーバは、
- SPFレコード : 許可されたIPアドレスから送信されているか確認するため
- DKIMレコード : メールが改ざんされていないかを確認するため
- DMARCレコード : SPF,DKIMの結果にもとづきどのようにメールを処理すべきかを確認するため
を確認します(ISPによってどこまで確認するかは異なります)。
これらを確認することで宛先サーバは、送信元の正当性を判断することが可能になります。SendGridではWhitelabel設定をするだけでSPFとDKIMを適切に設定することが可能です。
他にも以下のような要因の影響を受け、Inboxに到達できるかどうかが決まります。
■レピュテーション
送信元のIPアドレスやドメインをチェックする際、宛先側はレピュテーションとして以下の情報を確認します。
- 同一のIPおよびドメインから送信されたメールに対する他の受信者のリアクション(例えばスパム報告されていないかどうか)
- 同一のIPおよびドメインから送信されたメールを過去どのように処理したか(Inboxに届けたのか、フィルタリングしたのか)
※本文に含まれるURLのドメインのレピュテーションも確認の対象になることがあります。
■受信者レベルでのフィルタリング
さらに、受信者レベルでメールを振り分けるルールを設定していることもあります。その場合はどんなに望まれているメールであってもルールに従ってInbox以外の場所に振り分けられてしまうことになります。受信者レベルのフィルタリングは送信側ではコントロールができません。
■受信者からのフィードバック
メールにはフィードバックループという仕組みがあります。メールボックスプロバイダが提供する機能で、受信者が受け取ったメールを迷惑メールやスパムとしてマークした時にその通知が送信者に届く仕組みです。これを利用すると、送信者は受信者がメールを受けとりたくないと感じていることがわかるので以降は送信しないように注意する必要があります。