メールマガジン発行、キャンペーンや宣伝などで大量のメールアドレスを扱う際のメールアドレスの検証についてです。
ドメイン名の変更や廃止、当人の退職などで既に無効になっているメールアドレスが多いこと、多いこと。このような無効なメールアドレスと、スパムメールに対する対策は、メール一括配信サービスでも厳重に行うのが常で、MailChimpなどはメールアドレスのリスト登録の時に、不着となりそうなメールが一定数あると登録ができなくなったりします。
そこで、メール配信サービスに登録する前に、手元にあるメールアドレスの検証を行い有効なものだけを拾う、という作業が必要なのですが、そのための方法です。
mailboxlayer について
"Forever Free"のプランでSign Up すると、月に250通まではメールアドレスを検証するAPI が無料で使えます。
Access Key を取得して、以下のように実行します。
curl "https://apilayer.net/api/check?access_key=ACCESS_KEY&email=EMAIL&format=1"
JSON で以下のような応答が帰ってきます。
{
"email":"hoge@domain.com",
"did_you_mean":"",
"user":"hoge",
"domain":"domain.com",
"format_valid":true,
"mx_found":true,
"smtp_check":true,
"catch_all":null,
"role":false,
"disposable":false,
"free":false,
"score":0.96
}
mx_found がMX レコードの有無、smtp_check がSMTP サーバの稼働の検証です。これらがtrue ==稼働であるものは妥当、false となるものは既に無効になっている、と判断できます。(他のフィールドの意味は未検討)
#備考
活用しているメール配信サービス
月に12000通、2000メールアドレスまで無料。Drag & Drop ベースのGUIでのメール本文作成がとっても使いやすい。
-
Sendgrid
2000メールアドレスまで無料。一日500通まで。Microsoft Azure からも使える、その場合は1日800通まで。MailChimp と同様、Drag & Drop ベースのGUIでのメール本文作成対応。 -
Mailgun
APIがとっても使いやすい。
メール配信関連の英語
見慣れない単語が散見されたので、備忘録的に。
- Bounce (Mail)
エラーメールやリターンメールのこと。何等かの理由で目的の送信先に正常に配信されなかった場合に、メールサーバからその旨を送信元に通知されるメールメッセージ。
-
Abuse complaints
スパムメールと判断されること。 -
Suppression
抑止。Abuse complaintsやUndelivered Mail を"Suppressor" することがメール配信サービスの重要な機能。
参考
Mailgun を使ったメールアドレス検証の方法の記事です。残念ながら有料のサブスクリプションでないと使えないとのことでした。
余談
同窓会でメールマガジンの運用を引き継いで、これまでのWindowsソフトでの配信から、名簿情報との連動などを見越してクラウドベースの配信サービスを利用し用として、この問題に直面したのがきっかけでした。この10年ほどで集めた1200個ほどのメールアドレスを預かりましたが、このバリデーションで有効ということで残ったのは570通。半分以下でした。