自社サービスのメールがスパム扱いされるのを避けるためにできること

先日[10sec](http://inc.10s.ec/)にジョインした[mmyoji](/mmyoji)です！プログラミング歴は１年ちょっとですが、サーバーエンジニアとして日々奮闘中です！

最初にやった調べ事が割と一般的に必要なことのように感じたので、残しておきます^^


# 10 "Tips to Keep Email Out of the Spam Folder" (の意訳)

> [10 Tips to Keep Email Out of the Spam Folder | SendGrid](https://sendgrid.com/blog/10-tips-to-keep-email-out-of-the-spam-folder/)

SendGridさんの良い記事をシェアしていただいたので、意訳したものを残しておきます。


## 1. Be Compliant with the CAN-SPAM Act

広告系のメールや、商業製品 / サービスの販促メールを送る場合は以下の7つを守りましょう。

1. 間違った（誤解を生むような）ヘッダーinformationは避けろ
* 人を欺くようなタイトル(subject)を使うな
* メッセージが広告だということを明示しよう
* 自分がどこにいるか(location)メール受信する人に教えて
* 今後メールを受け取らずにする方法を明示しよう
* メール受信拒否の要求はすぐに反映する
* あなたのために他の人が何をしているか監視しろ(?)

アプリからの通知系は上記を無視してもいいお（＾ω＾）


## 2. Avoid Spam Trigger Words and Phishing Phrases

* 明確なspam wordリストはない(oh...)
* 広告、販促系の内容は避ける
* 虚偽のリンクを貼ったメールはshit
* フィッシングメールとかで使われるような単語は避けよう！


## 3. Include a Text Version of Your Email if You Are Sending HTML Emails

* `<!doctype html>` のことだと思うので大抵は問題無いかと


## 4. Use Permission Marketing Techniques

* [パーミッションマーケティング](http://e-words.jp/w/E38391E383BCE3839FE38383E382B7E383A7E383B3E3839EE383BCE382B1E38386E382A3E383B3E382B0.html)
* 要は客に許可もらってから広告とか出そうねって話


## 5. Use Spam Checkers Before Sending Your Emails

* [IsNotSpam.com](http://www.isnotspam.com/) でスパムっぽくないかチェック
* [ProgrammersHeaven.com](http://www.programmersheaven.com/webtools/Spam-Checker/spamchecker.aspx) でform-based solution to test your emailsとありますが見つけられませんでした...

## 6. Get Off Blacklists

* Blacklist入りになっていれば厳しいよね
* 下記サイトでBlacklist入っている(いない)かどうかチェック
* [Free Email Blacklist Lookup](https://www.senderscore.org/blacklistlookup/)
* [Email Blacklist Check](http://www.mxtoolbox.com/blacklists.aspx)
* [Spam Database Lookup](http://www.dnsstuff.com/docs/ip4r/)


## 7. Maintain a Good Text to Image Ratio

* 画像は入れないのがベスト
* もし入れるとしたら
* 画像だけのメールは避ける
* 画像毎に **最低２行はtext** を入れる
* [ここに挙げられているサイト](http://www.webdesignbooth.com/12-really-useful-image-optimization-tools-for-web-designers/) で画像の最適化を
* HTMLの構造を綺麗に ([参考](http://www.sitepoint.com/code-html-email-newsletters/))  (最終更新2011なので情報古いかも)


## 8. Avoid Spam Traps

* Spam Traps: ISP（プロバイダー）に、「既に人間に使われてない」と判断されているメールアドレス
* [opt-in process](http://en.wikipedia.org/wiki/Opt-in_email) というのを使おうって感じらしいです。


## 9. Avoid Large Attachments and Certain Attachment Types

* ` .jpg, .gif, .png, .pdf` は基本安全
* `.exe, .zip, .swf` などの実行ファイルは絶対避けよう


## 10. Make Sure Your DKIM, SPF, Sender-ID, and Domain Keys Are Set Up Properly

* 前述した [IsNotSpam.com](http://www.isnotspam.com/) で、これらが適切に設定されてるか確認しよう。
* 多分ほとんどの人はこの設定が大事っぽい。[SendGridだとSilver以上($79.5/month)](https://sendgrid.com/transactional-email/pricing)じゃないと独自ドメイン設定できないので世の中結局お金d...おっと誰か来たようだ。


## 最後に

* 僕等(SendGrid)みたいなメール配信サービス使うのが安全DAYO！だそうです・・・


## 他参考（とても良かったです）

* [SendGrid で Gmail へ送信したメールに「sendgrid.me 経由」という表示をさせない設定](http://blog.shibayan.jp/entry/20150118/1421582136)
* [WantedlyがまだSendGridを使いこなしてない話](http://www.slideshare.net/yoshinorikawasaki/sendgrid-night-2013publish)


# 補足

ほとんどの方にとっては当たり前のことかと思いますが全然知らなかったのでメモ。

## DKIM

* [DKIMとは?](http://www.dkim.jp/dkim-jp/about-dkim/)

> * DomainKeys Identified Mail の略で、受信した電子メールが「正当な送信者から送信された改ざんされていないメール」かどうかを調べることができる電子署名方式の送信ドメイン認証技術
* わかりやすく言えば、メールにパスポートを持たせて送信し、受信時にメールが持っているパスポートを調べて、本物の送信者が発行したパスポートかどうか、メール自体が正しいものかどうかを調べることができる仕組み


## SPF

* [SPF | IT用語辞典](http://e-words.jp/w/SPF.html)

> * Sender Policy Framework
* あるドメインのメールを送信することができる正規のサーバのIPアドレスをリストして管理する。


間違ってたら教えてください(><)