uiuifree.com

- サイト制作のノウハウと最適化を目指して-

2020.1.8【PHP】メールアドレスからキャリア判定する方法と便利ライブラリ

【PHP】メールアドレスからキャリア判定する方法と便利ライブラリ

メルマガ配信系のサービスを作ってるとマーケの方から配信率・売り上げ等のダッシュボード等をキャリア毎に作って欲しいとの要望がよくあります。

  • ・配信率が悪くなったのでキャリア別に分析したい
  • ・急に売上さがったので原因を調査したいなど

毎回ロジック書いているのも少し手間なので判定するロジックの紹介とライブラリを自作したので紹介していきます。

携帯電話キャリア・ドメイン一覧

WEBサイト運営においてキャリア判別で使えるのはメールドメインとUserAgentになります。今回はドメインを各キャリアに分類しています。

au

  • au.com
  • biz.au.com
  • ezweb.ne.jp
  • biz.ezweb.ne.jp
  • ido.ne.jp
  • uqmobile.jp
  • augps.ezweb.ne.jp
  • uqmobile.jp

NTTドコモ

  • docomo.ne.jp
  • mopera.net
  • dwmail.jp

ソフトバンク

  • disney.ne.jp
  • disneymobile.ne.jp
  • i.softbank.jp
  • softbank.ne.jp
  • vodafone.ne.jp

Google

  • gmail.com

Apple

  • icloud.com
  • me.com
  • mac.com

Microsoft

  • outlook.com
  • outlook.jp
  • hotmail.com
  • hotmail.co.jp
  • live.jp
  • live.com

Yahoo(Y!mobile/ウィルコム)

  • yahoo.co.jp
  • ybb.ne.jp
  • pdx.ne.jp
  • wcm.ne.jp
  • willcom.com
  • y-mobile.ne.jp
  • emnet.ne.jp
  • emobile-s.ne.jp
  • emobile.ne.jp
  • ymobile1.ne.jp
  • ymobile.ne.jp

Jフォン

  • jp-c.ne.jp
  • jp-d.ne.jp
  • jp-h.ne.jp
  • jp-k.ne.jp
  • jp-n.ne.jp
  • jp-q.ne.jp
  • jp-r.ne.jp
  • jp-s.ne.jp
  • jp-t.ne.jp

ツーカー

  • sky.tkc.ne.jp
  • sky.tkk.ne.jp
  • sky.tu-ka.ne.jp

判定コード

単純にキャリア判定をしたいのであれば上記の表を用いてin_array などを用いて分岐を記述すれば十分に判定が可能です

$domain = “au.com”;
$mobileCarrier = “”;

if(in_array($domain,[‘au.com’]){
  $mobileCarrier = “au”;
}elseif(in_array($domain,[‘docomo.ne.jp’,’mopera.net’])){
  $mobileCarrier = “NTT docomo”;
}

WhoDomain

上記のロジックを簡単に使えるようWhoDomainというライブラリを公開しています。 ドメインのキャリア判定とキャリア名が取得できるシンプルなものです。

導入方法

WhoDomaincomposerを使ってインストールします。

composer require uiuifree/who-domain:1.0.1

キャリアの取得

echo WhoDomain::who('au.com');
// output : au
echo WhoDomain::who('gmail.com');
// output : Google

キャリアの判定

WhoDomain::isAu("au.com"); // true
WhoDomain::isDocomo("docomo.ne.jp"); // true
WhoDomain::isSoftback("softbank.ne.jp"); // true

簡単な集計ロジックだとすぐに実用できるかと思います。 是非利用してみてください。

PROFILE

このサイトを運営してるuiuifreeです。
渋谷のベンチャー企業で2年ほど新規事業を担当した後にフリーランスエンジニアにキャリア転換。
求人サイトの開発が多くエンジニア/看護師/保育士などの分野でサイトを運営しています。

アウトプット中の技術

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)