メインコンテンツへスキップ
見出し画像
Photo by950am

【第51回】 List Detective に該当するメールアドレスを API で検証する

    Nobuyuki Watanabe

    List Detective 機能とは、Salesforce Marketing Cloud が独自に「不正」と判定しているメールアドレスを以下のタイミングで事前に送信対象から除外させる機能になります。

    ① データエクステンションを使ってのメール送信時
    ② すべての購読者リストなどのリストへのインポート時
    ※データエクステンションへのインポート時は含まれません。

    この機能により、メール送信の配信到達性の問題の原因になる可能性のあるメールアドレスへの送信を避けて IP レピュテーションの低下のリスクを避けることができます。

    このデータベースには以下のようなものが含まれます。

    ・メールスパムトラップ
    ・ブラックリストアドレス
    ・存在しないドメイン(例:@gmail.comではなく@gmai.comなど)
    ・廃業したメール会社または Web メールプロバイダ
    ・グローバル購読取り消し
    ・入力ミス
    など

    List Detective に該当するメールアドレスやロジックが格納されているデータベースは一般には開示されていないものになります。Salesforce サポートの案内によると「個々のメールアドレスが List Detective データベースに含まれている理由については、説明いたします」となっており、ケースを挙げる必要があるのですが、毎回、サポートにケース申請をするのも面倒ですよね。

    そこで、今回は自分で検証する方法のお知らせです。

    ちなみに List Detective に該当してしまう ユーザー名(アカウント名)の代表的なところは、下記のようなものがあります。

    - info
    - default
    - support
    - webmaster
    - subscribe
    - unsubscribe
    - null
    - noreply
    - privacy
    - postmaster
    - mailerdaemon
    - nobody
    - none
    - www
    - remove
    - root
    - invalid
    - junk
    - junkemail
    - junkmail
    - noc
    - noemail
    - listserv
    - usenet
    - abuse
    - uucp

    このような ユーザー名を持つメールアドレスの他に spam、blacklist、blocklist のような単語が含まれるメールアドレスも事前に除外されます。

    【 Custom List Detective について 】
    例えば、「info@」がユーザー名となっているメールアドレスに対して送信を許可したい場合は、以下の記事で、その解除方法を説明しています。

    それでは、今回の例として、以下の 2 つのパターンで検証します。
    ・「info@gmail.com」→ List Detective の対象となる想定
    ・「info2@gmail.com」→ List Detective の対象とならない想定

    今回の記事では REST API を使用します。過去の記事「Salesforce Marketing Cloud で REST API を叩いてみよう」の Part.1 と Part.2 の記事で取得できる以下の 2 つが必要となりますので、事前に用意してください。

    ■ Part.1 の REST ベース URL
    ■ Part.2 の アクセストークン

    以下のスコープが API セットアップで選択されている必要があります。

    ■ CHANNELS - Email - Read


    それでは、List Detective となるメールアドレスを API で検証してみます。

    Talend API Tester のリクエストを開き、以下を入力してください。まずは、「info@gmail.com」を検証してみます。

    --- メソッド 
    POST
    
    --- エンドポイント
    [REST ベース URL].rest.marketingcloudapis.com/address/v1/validateEmail
    
    --- ヘッダー
    Content-Type:application/json
    Authorization:Bearer [アクセストークン]
    
    --- ボディ(サンプル)
    {
    "email": "info@gmail.com",
    "validators": [ "SyntaxValidator", "MXValidator", "ListDetectiveValidator" ]
    }

    これで「送信」ボタンを押しますと、

    画像

    「info@gmail.com」が、List Detective であると返されます。

    では、一方で「info2@gmail.com」は どうでしょう。検証します。

    画像

    こちらは、List Detective では無いようですね。想定通りでした。

    ちなみに、カスタム List Detective で Info@ を送信許可に変更した場合、そのアカウント内では info@ は List Detective として判定されなくなります。

    ちなみに、こちらの API(address/v1/validateEmail) は、以下のように「info@@gmail.com」のようなメールアドレスの「構文エラー」(@が2つあるなど)の検証もできます。覚えておいて下さい。

    画像

    いかがでしたでしょうか?

    最後に一言、この API には難点がありまして、それは 1件ずつしか検証ができないというところです。これが、データエクステンション内のメールアドレスを一括チェックできると便利なんですがね・・・。

    今回は以上です。


    Click here for English version

    次の記事はこちら

    前回の記事はこちら

    私の note のトップページはこちら

     
     
     
    Salesforce Marketing Cloud、Agentforce、Data Cloud、Salesforce 認定資格に関する実践的な情報を発信しています。これらの記事が、皆さまの学習や日々の業務に少しでもお役に立てば幸いです。