メールというインターネットの闇とIPレピュテーション（だけど重要）(後編)

### ※この投稿について

前半でIPレピュテーションとは何か？という説明をしていますので、未読の方は一読することをお勧めします。
メールというインターネットの闇とIPレピュテーション（だけど重要）(前編)
https://qiita.com/nfujita55a/items/5848fcfbbe6cbf7d98c3
この後半では、IPレピュテーションをよくしてメールを滞りなく送りたいときの光要素と闇要素を、**光→闇**の順に書いています。

# メールを円滑に送るためIPレピュテーションを高めたい、何ができるの（光要素）

まずは、IPレピュテーションを含めて、メール送信を円滑に行うためにすることが大別して3つくらいあると思います。

### 送信ドメイン認証する

いわゆるSPFやDKIMです（最近はこれにDMARCが加わる）。SPFなら送信側が「DNSを使ってこのEnvelope-FromのメールはこのIPアドレス帯から送るからね」と宣言し、受信する側がベリファイするあれです。実装方法はGoogleで調べるなりしてください。
**SPFは必ず設定する必要があります。そうしないとまず日本の携帯キャリア（docomo,au,softbank）が受け取ってくれません**。いまどき、携帯キャリア使う人なんているの？みたいなことを言う方がいますが、日本のBtoCだと携帯キャリアのメールアドレス率は減っていないと思います。たいていのリストで20%は確実に超えてくるかな、と。
送信ドメイン認証がOKでないメールを送ると、IPレピュテーションが下がります。

### Bounce減らす

Bounce＝メールを送った時にEnvelope-Fromに戻ってくるメールのことです。よく宛先間違たときに「User Unknown」って悲しいメールが届きますよね、アレです。
例えば、お得意様クーポンのメール1000通送った、みたいなときに届かない宛先が100個あってBounceメールが100通戻ってきたら、Bounce率=100÷1000=10%と、Bounce率を算出します。
Bounce率を低くするために、Bounceで戻ってきたメールアドレスに対し「このメールアドレスは無効だからメールを送らないとフラグをつけて、次回から送らないこと」をアドレスクリーニング、といいます。
このアドレスクリーニングもメールを円滑に送るために重要な対応です。アドレスクリーニングせずBounce率が多いメールをどんどん送るとIPレピュテーションが下がります。

また、「ダブルオプトイン」もBounce減らすことに有効です。ダブルオプトインは、例えば、ECサイトなど会員登録があるサイトで、会員登録の際に入力されたメールアドレスにメールを送り、そのメール中のリンクをクリックしてもらって登録完了とするアレです。これによりメールアドレス誤入力が招くBounce発生を減らせます。

### 嫌われる内容を送らない＆書かない（人にも機械にも）

（まともな商行為をする日本のみなさんはもう遵守されていることなのですが）広告目的のメールは、メールの配信を許諾していない方に送ってはいけません。いわゆる「オプトイン」です。法律だと「特電法」ですね。
日本の場合「オプトイン」はとても当たり前（除く、まともな商行為ではない方）なので、IPレピュテーションの向上や低下に影響するのは、以下のような嫌われることをしないかです。

1. 高い頻度でメールを送る（いまは**お名前ドッ〇コムさんが「高い頻度でメールを送り嫌われる王」に君臨**されているようです。一時期は〇天さんがに君臨されていましたね）
2. 配信停止の方法が書いていない、または、分かりづらい(*配信停止を容易にできるのか、という点は後述します*)
3. 人が読んで不快になるようなメールを送らない（けばけばしいとか読みづらいとか、件名が詐欺的とか）
4. HTMLメールが画像の1枚絵で、HTMLソースをシークしただけではどんな内容かさっぱり分からない。また、受信者が画像の表示をOKにしないと真っ白なメールに見える
5. bit.lyのようなメールのリンク先が安全かどうかを調べられないリンクをメールに張らない

1.～4.が人間さま向けで、1.4.5.が機械向けです。※機械（システム）も、迷惑メールかを判定するために頻度だけではなく内容も見ています。**内容がマシーンリーダブルではないメールは悪**です。

まず、受け取る方が不快な思いをするメールを送ると、通報の頻度が増えます。通報とは、Gmailやoutlook.comなどにある「このメールは嫌だorおかしい」と受信するドメインに対し通知する行為です。

例）TwitterのメールをGmailで開いたとき
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/314396/bff3e688-ba46-839d-a49f-c2d2f977b5ba.png)

受信者側は「通報」の頻度が多い送信元のIPレピュテーションを低下させます（だれかの1回の通報で低下、とかはない）。あまりに通報が多いとIPレピュテーションの低下によってメールが届かなくなります。

### 実はまとめた文書「Sender Best Common Practices」がある

このあたり、送る側は守らなければならないことをまとめた文書が、The Messaging, Malware and Mobile Anti-Abuse Working Group (M3AAWG) から既にアナウンスされていますので、メールの送信に携わることは読むことをお勧めします。

M3AAWG送信者のベストコモンプラクティス第3.0版
https://www.m3aawg.org/sites/default/files/m3aawg_senders_bcp_ver3-2015-02-japanese.pdf

# IPレピュテーションを高めたいけど、どうにもならないことがある（闇要素）

……さて、ここまでは、IPレピュテーションを高めて、円滑なメール送信を行うためよく行われる対応事項です。これだけでIPレピュテーションが高まって、メール送信が円滑に行われればいいのですが、困ったことにそうはいきません。

それには、以下のような**IPレピュテーションの向上を妨げるいくつもの闇要素**があるからです。そうそう、前編で書きましたが、（受信者側の）IPレピュテーションは非公開です。だから、**闇要素に対して頑張っても、頑張ったかどうかは送ってみないと分からない、という点も結構闇**です。

### 業者に頼んだんだからOKってわけでもない

「メール送信はどうも闇」という認識が広がった結果、メール送信サービスプロバイダー(ESP - E-mail Service Provider)さんにメールの送信を依頼することが増えました。たぶん日本で2019年現在、BtoCなメールの7,8割はESPを通じていると思います。

国内資本なら

- エイジア社のWEBCAS（https://webcas.azia.jp）
- エンバーポイント社のMail Publisher（https://emberpoint.com）
- パイブドビッツ社のSPIRAL（https://www.pi-pe.co.jp）
- ユミルリンク社のquenote（https://www.cuenote.jp）
（会社名五十音順で並べた）

外資

- Mailgun（https://www.mailgun.com）
- Twilio Sendgrid（https://sendgrid.com）

あたりでしょうか。

これらを使った方がたぶんよいのですが、ESPにもできないことや不得意なことがあります。

例えば不得意の例として、外資の方がシステムは洗練されている印象があります。しかし、日本向けに使うと日本にしかない宛先（yahoo.co.jp＋携帯キャリア3社）に届かないことがあったりしします（なので国内資本の方がいいのかも）。
※そういえば、**お客様から「Send〇〇に変えたらメール届かないんだけど、どうしたらいいか分かる？」とSend〇〇のサポートでもない私に聞かれ闇の打ち合わせ**がセッティングされたことがあります（Send〇〇の人はいなかった）。

それと大事なことは、ESPでもどれくらい届いているかはモニタリングしている（はずな）のですが、ESPもクライアントがどんなメールをどんな頻度で配信しているかまでは分かっていないことが多いです。このため、ESPにお願いしていてもある程度は送る自組織でメールどうかな？と対応・監視しないといけないと思います（どんな契約結んでいるかによりますが）。

### 立地（IPアドレスの）

メールのIPレピュテーションのベースとなるのは、その近隣のIPアドレスのIPレピュテーションです。このため近くのIPアドレスに「まともな商行為・組織・人ではない方々」によってメール送信するIPアドレスがあると、引っ張られてIPレピュテーションが下がります。

典型例はAWSです。エンジニアみなさん大好きなAWS、あれはクレジットカードで簡単にEC2のインスタンスを立てることができるので、スパム屋さんフィッシング屋さんはもっと好きです。スパム屋さんフィッシング屋さんがせっせとEC2からスパムメールやフィッシングメールを送る結果、AWSにEC2のインスタンスを立ててメールを送ろうとすると、IPレピュテーションがとても低い状態からスタートすることになり中々厳しいです。可能なら避けてください。避けられない場合は頼れそうな担当（*たぶん最初青い顔される*）を手配ください。
※AWSのEC2なら「EC2 インスタンスのポート 25 の抑制を解除する方法を教えてください。（ https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-port-25-throttle/ ）」は行う前提で。これを行っても容赦なくこの立地の問題に巻き込まれます。
※Amazon SES はどうかというと https://qiita.com/418status/items/f128ac3475f340724cc8 のようなアカウント差し止め罠があって、素人にも玄人にもお勧めできない。
※AzureやGCPは、もうはなからインスタンスによるメール配信を原則許可せず、ESPから送れってなってます。
さくらのクラウドやGMOクラウドも似たような隣の人問題を抱えています。

メール送信のIPレピュテーション上、一番立地がいいIPアドレスは、データセンターで自社が/24とか/26をすでに持っていて、この中からメール送信に使用できるIPアドレスを取得できる場合です。（*ほんとにクラウド全盛の2019年かな、という気分になってきた*）

例として、前編でIPレピュテーションを調べられるサイトとして例にあげた Cisco Talos で、スパム送っているIPアドレス 3.112.241.30 の周囲 3.112.241.0/24 を見てみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/314396/5b89d2f6-622b-6004-f96f-b16eb5ac0e59.png)
……これはひどい。256IP中表示される（＝メール送ってる）13個すべて赤丸のPoorです。AWSを使っていて、取得できたElasticIPが偶然 3.112.241.0/24 だと、この周りのスパム屋さんIPアドレスのせいで、ElasticIPのIPレピュテーションがググッと下がり、たぶんまともにメール届きません。また、取得できたElasticIPは以前にスパム屋さんが使ってたのでIPレピュテーションがすごく低い、というケースもあります。

このような取得できたElasticIPのIPレピュテーションが低いためにElasticIPを取り直す行為を、個人的には**「AWS IPアドレス ガチャ」**って呼んでます。

でも、人間でこんな差別的な扱いしませんよね。「君、足立区から来たんだよね、怪しいからカバンを検査させて」って警察官が秋葉原でしたらあっという間に拡散されて問題になりますよね。でも**メール送信ではそんな十把一絡げな差別的な扱いがぜんぜん許されている。ここ闇です。**

### 新しいIP問題

上で書いた立地の問題がないデータセンターからメールを新しいIPアドレスで送るとします。このような場合でも、新しいIPアドレスはいままでメールを送信しておらず、受信側が正当なメールを送ってくる記録がないからという理由で、IPレピュテーションは低い状態から始まります。

新しいIPでは、送信ドメイン認証してても、Bounce低くくても、嫌われない配信してても、IPレピュテーションは低いため、メールが届かないことがあります（送信ドメイン認証せず、Bounce高く、嫌われる配信してればなおさら届かない）。

outlook.com さんはウェブにこの事象を明記しています。
outlook.com > postmaster > トラブルシューティング
https://sendersupport.olc.protection.outlook.com/pm/troubleshooting.aspx
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/314396/6f75e54f-0e4c-4d3a-9b18-627289d453ef.png)
最初は辛抱してね、ということなのですが、そんな待てるわけもありません。

「新しいIP問題」に対しては「IPウォームアップ」という、新しいIPアドレスで送信するのはメールの一部から初めて徐々に多くする、という手法を取ります。

### パーミッションはメアドにつくの会員につくのかという慣習の違い

このようなメールがIPアドレスのIPレピュテーションによって届くとか届かないとか、そういうテーマを海外のサイトみたり、海外と質問・依頼をやり取りするとき、慣習の違いがいくつかあります。その中でもパーミッションの付き先という概念に注意が必要です。
> 使ってないサイトのメルマガ停止しようとしたら、サイトのパスワード忘れた。止められないじゃん。サイトにログインしなくても止められるようにしようぜ、海外そうしてるじゃん。日本最悪だよ

といった主張を私も何度かネット上で見ました。これ、パーミッション(広告メールの許諾、オプトインされているかどうか)の付き先が違うことが多いんです。
海外の場合、オプトインは「メールアドレスに対して」が多いです。海外のサイトを訪れたときに、右下に「NewsLetterの登録はここだよ」ってダイアログがでることありますよね。ああいう感じでパーミッションはメールアドレスにつきます。サイトの会員とは違います。この場合、配信したメールの停止はメールアドレスに対してなので、サイトのログイン不要とすることができます。
日本の知ってるものだと、ハフポスト日本版がそうですね。（会員情報関係なくメール登録可能）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/314396/02288d8d-c2e3-e683-f83f-857316f21d2f.png)

日本の場合、オプトインは「会員情報に対して」が多いです。会員情報の1属性として、メールのパーミッションがあり、このため、広告目的のメールを停止させるのにサイトにログインが必要な仕様であることが多いです。
「そうはいってもシステムの作りでパーミッションのOFFをログイン不要にできるだろう」という技術的見地はその通りなのですが、日本の場合、広告目的のメールを会員に送ることがサービスの一部になっている認識がサービス提供者(企業)、サービス利用者(消費者)双方にあります。簡単に止められると「メルマガが届かないんだけど？」な苦情がたくさんサポートセンターに来てしまいます。悩みの種です。**「メルマガが届かないんだけど？」なんて問い合わせあるの、とエンジニア諸氏は不思議に思うでしょうが、~~実際やらかすとたくさん~~来ます。**

このために

- 受信した方が、メールを受信したくない＋サイトのログインできないからと「迷惑メール報告」ボタンを押し、これが積み重なり、IPレピュテーション低下
- 海外のブラックリストメンテ屋さんが、簡単にメールを停止できない仕組みと思って、ブラックリスト掲載→IPレピュテーション低下

というIPレピュテーション低下のシナリオがあります。

---

今回も長くなってしまいました。うーん、文章を短くまとめるのは難しい。指摘あればコメントやTwittwerなどでご指摘いただけると幸いです。