ユーザ主体のコンテンツ共有をメールで安全に行うためのTips

UGCを「安全」にメールで送信するためのTips

この記事は How To Safely Email User Generated Content の抄訳です。

急成長しているオンラインサービスでは、ユーザコミュニティとの関わりを増やしブランド力を高めるために、ユーザによって作成されたコンテンツ (User Generated Content: 以下、UGC) の共有機能を活用しています。

例えば、メールで“友達に共有する”や“友達を招待する”という機能を提供しているサービスを見たことがある方も多いのではないでしょうか。こういった機能をうまく使うことで、売上を促進したり、ユーザの意見を拡散しやすくなったりするメリットが有る一方で、悪用され、迷惑メールやなりすましの被害などブランドに重大な損害を与えかねないリスクも潜んでいます。そういったリスクを回避するために、メールでのUGC共有機能に安全対策を導入しましょう。

UGCをメールで送信する際のリスクを抑えるためのTips

UGCをメールで共有する機能には、悪用されるリスクを高める2つの要素があります。1つ目は、普段配信しているマーケティングキャンペーンメールやトランザクションメールとは異なり、コンテンツを完全にコントロールすることができない点です。2つ目は、コンテンツを誰に送信するかをサービスのユーザが決定する点です。これら2つが組合わさるとリスクはより一層高まります。適切に制御するよう気をつけましょう。
リスクを回避するためのTipsをまとめたので、参考にしてみてください。

  • メールの送信者を把握できるようにしておく
    送信元のなりすましができないようにしましょう。例えば、Fromのメールアドレスや差出人名はシステムで設定し、自由に変更できないようにするのが良いでしょう。送信メッセージと送信者の情報を紐づけておけば、悪意のある送信者を特定することができます。
  • 受信者の反応に耳を傾ける
    受信者からのフィードバック機能を導入して、チェックをすり抜けて配信されてしまった好ましくないメールを確認しましょう。
    SendGridをご利用の場合は、Forward spam機能を利用する、またはEvent Webhookを活用して迷惑メール報告をリアルタイムに通知するようにしておけば、好ましくないメールを特定し配信停止することができます。
  • 問題のある送信者と良い送信者を把握する
    送信者ごとのレピュテーションを確認できるようにしておきましょう。レピュテーションが不明だったり信用できない送信者に対しては、時間をかけて送信する、送信の間隔を長くする、宛先リストのサイズに制限を設ける、などの対策を行いましょう。
  • 送信量をコントロールする
    苦情が多いなど、レピュテーションが低い送信者については、メッセージの送信処理を中断もしくは制限しましょう。
    • 送信できるメールの通数に制限を設けましょう。レピュテーションが不明だったり低かったりする送信者は、レピュテーションが高く信頼できる送信者よりも厳しく制限しましょう。
    • 宛先リストの数に上限を設定しましょう。宛先リストの増え方が予測範囲内なのか、もしくは急激に増えてしまっていないかを監視することが大切です。
    • 大量送信時は流量を調整しましょう。少量ずつメッセージを処理し、バウンスや迷惑メール報告といったフィードバックを待ちます。問題がないようなら、再度少量のメッセージを処理します。このプロセスを繰り返しましょう。 (大規模なキャンペーンになればなるほど、より注意深く少量ずつ送信してください)
  • コンテンツを管理する
    • ユーザが自由にURLを挿入できるようにしてはいけません。
    • ファイルやユーザが作成した画像を添付させていはいけません。 (画像スパムが流行したことを思い出してください)
    • 必要の無いコンテンツを制限するためにUGCのメッセージ部分に文字数上限を設けましょう。
    • 迷惑メールチェックをしましょう。AkismetのようなWebコメントのスパム検出システムを使ってUGCを送信する前に選別しましょう。
  • 送信するコストは送信者に任せる
    あなたのシステムを通じて大量のメールを簡単に送信できるようになっていると、悪用される危険性があります。実際に運用する場合は、UGCを含んだメールを送信するコストは送信者に任せるのが良いでしょう。例えば、”メールで共有する”ボタンが押された時に送信者自身のメールクライアントを利用してもらうよう、mailto: スキームを活用するのも1つの方法です。
  • メールボムを防ぐ
    送信した回数を宛先毎にカウントしましょう。一定期間に1人の受信者が受け取れるUGCの総数に制限を設けておきましょう。
  • 配信停止リンクをいれる
    UGCを含んだ全てのメールのフッターに配信停止リンクを追加しましょう。また、List-unsubscribeヘッダも忘れずに追加してください。
  • 法律を遵守する
    カナダのスパム対策法 (CASL) では、オプトインしていないメールの配信は厳しく取り締まられています。
    日本でも迷惑メールを規制する法律があります。法律を守り、適切なメールを送信しましょう。
  • メールの送信系統を分ける
    UGCを含んだリスクの高いメッセージを、サインアップやパスワード再発行の通知メールなどの重要なメールと同じIPアドレスやドメインから送信するのは危険です。UGCの送信には異なるIPアドレスとドメイン (サブドメイン) を利用し、UGCが、重要なメールの配信トラブルを引き起こすリスクを回避しましょう。UGCフォームが第三者に管理されている場合は、UGCを送信するブランドやサイト、キャンペーンごとに異なるサブユーザを設定しましょう。
  • 予防は治療に勝る
    • サービスに会員登録した人を把握しましょう。会員登録時に審査することで、問題を起こしそうな人からの登録を除外することが大切です。多くの審査を行うためには、新規会員登録とアカウントのアップグレードのリスクを自動審査しましょう。このような自動審査はe-hawkを利用すれば簡単にできます。
    • リスクに応じて、異なる会員登録のパスを設定しましょう。リスクの高い会員登録ほど、より厳しい審査を行うことをおすすめします。心配な場合は審査項目を増やしましょう。可能であれば、CAPTCHA、SMS認証、電話認証、多要素認証、クレジットカード認証なども活用しましょう。
    • 同一の人物、デバイス、IPアドレスからの複数の会員登録を簡単に承認してはいけません。このような場合、複数のアカウントを併用して迷惑メールを送信することで、迷惑メールチェック機能から逃れようとしているのです。 (このような手法はsnowshoeing (スノーシュースパム) と呼ばれています)
    • ボットに気をつけましょう。入力されたユーザIDのパターンと登録のタイミングをチェックして、自動スクリプトによる会員登録を検知しましょう。
      登録フォームの入力時間が、人間の力で可能な入力時間よりも短くないでしょうか?入力項目の並び順や登録フローをランダムに変更したり、CAPTCHAなどを利用したりしてスクリプトによる会員登録を阻止することが大切です。
    • 既存アカウントは新規アカウントよりも信頼されているという仮説のもと、迷惑メール業者は休眠アカウントをいくつか残しているかもしれません。レピュテーションを監視する基準が、新規と既存アカウントで異なる場合には、新規アカウントの定義についてよく考え、慎重に決定してください。

さいごに

既にUGC共有機能を利用していたり、ブランドを成長させるために”共有する”や”招待する”などのメッセージの送信を利用していきたいと考えていたりするのであれば、これらのTipsを心に留めておいてください。UGCを含んだメールは、あなたのメーラーから送信するメールと同等の厳しい基準に従う責任があることを忘れないでください。UGCをメールで送信することへのリスクを認識していれば、それに応じてプログラムを準備し、ユーザを守ることができます。