
KARTE Messageの大量メール配信を支える技術
はじめに
こんにちはプレイドのKARTE Messageチームでエンジニアをしている土谷です。
今回は大量メール配信を実現するためにKARTE Messageで取っている仕組みを紹介していきます。
KARTE Messageについて
本題に入る前に、まずKARTE Messageについて説明します。
KARTE Messageはマルチチャネル(Mail/アプリPush/LINE *)での大量配信を行えるMAツールとなっており、主に以下の機能を備えています。
- 配信の管理
- 配信対象抽出の設定
- 配信コンテンツの設定・コンテンツへの埋め込み
- 配信速度・頻度の管理
- 配信対象の管理
- 誰に配信するのかを取り扱うための配信対象を管理するためのリスト機能
- リストに対するフィルタリング機能
- リスト同士を組み合わせて配信対象を絞り込む機能
- 配信コンテンツの管理
- 配信コンテンツをテンプレートとして管理
これらの機能に加えてKARTEの特有の機能を利用した配信対象の抽出などもできるようになっています。
* LINEとの連携機能は現状β版として提供しています。
このブログで出てくる用語
まずメール配信においてよく使われる用語の説明をします。理解している人は読み飛ばしてください。
Eメール
: 一般的にEメールはマーケティングメールとトランザクションメールに大別できます。
マーケティングメール
: 受信者がアクションをしていなくても送信者側が能動的に送信するメールです。メルマガ配信やクーポンメールなど。
トランザクションメール
: 受信者が何かしらのアクションを起こした時に受等的に送信するメールです。ログインメールやパスワードリセットメールなど。
メールバウンス
: 送信したメールが何らかの理由で相手のメールサーバーに拒否されて、送信者に戻ることです。メールバウンスはハードバウンスとソフトバウンスに大別できます。
ハードバウンス
: メールの拒否理由が恒久的な問題の場合のメールバウンスのことです。メールアドレスが存在しないなど。
ソフトバウンス
: メールの拒否理由が一時的な問題の場合のメールバウンスのことです。受信者のメールボックスがいっぱいなど。
IP/ドメインレビュテーション
: メール送信時に利用するサーバーのIPアドレスやFromドメインに対して付けられる評価をレピュテーションと呼びます。スパムメールのようなメールをたくさん配信しているとレピュテーションが下がり、メールプロバイダー(GmailやYahoo!メールなど)から受信を拒否される場合があります。レピュテーションの管理はメールプロバイダーがやっていたり、第三者機関がやっていたり、さまざまなパターンがあります。
SPF
: SPFレコードというDNSレコードを利用して、送信されたメールの送信元IPを確認することで送信者がなりすましをしていないかを確認する仕組みです。
DKIM
: DKIMレコードというDNSレコードを利用して、送信されたメールの内容が第三者に改竄されていないことを確認する仕組みです。
DMARC
: SPF/DKIMの確認に引っかかった時に、どのように対応すべきかを送信元のサーバーが表明しておく仕組みです。
大量メール配信の運用における課題
マーケティングメールが大量に送信されている現在の環境では、同様に大量のスパムメールも送信されています。メールプロバイダーはメールの大量送信に対して、スパムメールかどうか・送信者がスパマーではないかという判定を厳しく行なっています。
そのためマーケティングメールをエンドユーザーに届けるためには、送信したメールがスパムメールでないことを証明する必要があります。
メールプロバイダーは送信されたメールがスパムメールでないことを確認するために、以下のような項目を確認しています。
- SPF/DKIM/DMARCの設定確認
- これらのDNSレコードの設定がされていないとスパムメールと判断される場合があります。
- IPレピュテーション・ドメインレピュテーションの確認
- 送信元のIPレピュテーションやドメインレピュテーションが低いと、スパムメールと判断される場合があります。
- メールコンテンツの正当性の確認
- メール内のコンテンツにhttpのセキュアではないリンクがあったり、不審なスクリプトなどが含まれていたりすると、スパムメールと判断される場合があります。
- メール配信量の急増の検知
- 特定IPからのメールの配信量が急増すると、スパムメールと判断される場合があります。
上記のようなスパムメールかどうかの大量のチェックが各メールプロバイダーごとで設定されているため、マーケティングメールをエンドユーザーに届けることが簡単ではないことが課題となっています。
KARTE Messageにおける大量のメールをエンドユーザーに届けるための仕組み
ここからは、KARTE Messageで行なっているマーケティングメールを正常にエンドユーザーに届けるための仕組みを紹介します。
AWS SESを利用したマルチテナント構成
大量メール配信においてIPレピュテーションを高く保つことは、上述した通り非常に重要です。これを実現するには、スパムメールと判定される可能性のある質の低いメールの送信を極力避け、メールプロバイダーに確実に受信される質の高いメールを送信する必要があります。
そのため、質の高いメールの配信量を最大限に増やすことが有効なアプローチの一つです。これにより、仮に少量の質の低いメールが送信されたとしても、全体におけるその割合を低く抑えることができ、結果としてIPレピュテーションを高く維持することにつながります。
KARTE Messageでは、それを実現する仕組みとしてマルチテナントなメール配信を行なっており、KARTE Messageが所有しているIPアドレスをクライアントごとに固定せず、全てのIPに均等に振り分けて送信しています。
結果として冒頭で述べた通り、KARTE Messageを利用しているクライアント全配信量が母数となるので、特定のクライアントで質の低いメールが多少送信されても影響を小さくすることができます。
また、複数のクライアントの配信をKARTE MessageのIPで送信しているため、配信はほぼ24時間常に行われています。そのため、1クライアントが急な大量配信をしたとしてもKARTE Message全体では配信量の急増にはなりにくく、メール配信量の急増によるIPレピュテーションの低下を防ぐことができ、送信されたメールもスパムメールと判定されづらくなります。
こういったIPレピュテーションの運用は、1クライアントでやろうとすると配信量や配信時間の問題で運用が難しくなる場合があります。KARTE Messageではマルチテナント配信にすることで、その運用負荷をクライアントから取り除いています。
まとめ
マルチテナント配信以外にも、KARTE Messageではメール配信の細かなモニタリングを行ったり、SPF/DKIM/DMARCの設定の補助機能なども提供することで、なるべくマーケティングメールの運用負荷を下げるような機能提供を行なっています。
KARTE Messageでは、メールという長年コミュニケーションツールとして中心になっている技術であるからこそ難しくなっている部分を管理することで、価値を届けるプロダクトを作っています。
興味がある方は採用ページをご覧ください。お待ちしております!