Webシステムにおいて、何らかの契機でメール送信を行う機能は必要とされるケースが多くあります。
僕自身、関わった案件の中でメール送信機能を実装した経験がいくつかあります。
メール送信機能の実装に関しては、メールサーバーを構築せずとも会員登録を行うことでメール送信ができるサービスがあり、簡単に実装することができます。
しかし、こちらの記事を読み、当たり前のことながら、改めてメール送信機能は送信をするだけではなく、
安全かつ確実に送信できることを担保できてはじめて機能している、といえるものだと思い、メール送信に関する注意点を自分なりにまとめてみました。
幾つかのサイトを参考にしたので、内容が重複する部分があるかと思いますし、個人的な観測になりますので、必ずしも必要というわけではありませんが、
これからWebシステムに何らかのサービスを使ってメール送信機能を実装する予定の方の力になれれば幸いです。
目次
メール送信の注意点
メール送信のレピュテーション
メール送信におけるレピュテーション(reputation)とは何か。
日本語に訳すと「評判」となりますが、その名の通り送信者、送信元のIPアドレスやドメインの評判をスコア化した情報です。
このスコアをgmailなどのインターネット事業者(Internet Service Provider。以降ISPと呼びます) は判断し、
「レピュテーションが低い」と判定されると、メールは受信を拒否されるか、スパムメールとして処理されてしまいます。
また、レピュテーション低下が原因で送信元のIPアドレスまたはドメインが「ブラックリスト(別名ブロックリスト)」に登録されてしまうと、
送信メールはブロックされ、受信ボックスに入らなくなってしまいます。
レピュテーションの種類
レピュテーションの種類として「IPレピュテーション」と「ドメインレピュテーション」があります。
- IPレピュテーション
IPレピュテーションとはその名の通り「IPアドレスにおける評判(レピュテーション)」になります。
一意であるIPアドレスベースのレピュテーションになります。
- ドメインレピュテーション
ドメインレピュテーションは送信元のドメインベースのレピュテーションです。
IPv4からIPv6への移行に伴い、ドメインレピュテーションの関心が高まった影響で、IPレピュテーションとドメインレピュテーションを併用するISPが出てきました。
よってドメインレピュテーションがメリットを生み出す反面、デメリットも生み出します。
IPアドレスの場合、レピュテーションが低下すればIPを変更する、という手段がとれましたが、
ドメインの場合、そう簡単に変更はできません。稼働しているサービスであれば尚更です。
メリットとしてはドメイン全体のレピュテーションがフィルタリングメトリクスとして使用されるため、新しいIPアドレスのウォームアップ等は不要になります。
レピュテーションを下げる原因
レピュテーションの低下の要因は正式には公表されていませんが、その評価指標は様々です。
SendGridのブログに詳しく記載されていますが、主に以下のような内容がレピュテーションを低下させる要因となるようです。
・バウンス率(何らかの要因でのメール不達)が高い
・スパムトラップ(長期間アクティブになっていないメールアドレス)への送信
・迷惑メールの報告を受けている
・メールタイトルおよび内容にフィッシング詐欺や迷惑メールで多用するキーワードが入っている
どれか一つ該当していたらブラックリストに登録される、というものでもありませんが、
上記内容を繰り返し続けるとスパム業者と判断されかねません。
また、機能テストのために大量送信を行う際にも注意が必要です。
不用意に宛先の存在しないメールアドレスに送信要求を行うことはレピュテーションの低下につながります。
レピュテーションを向上させるには
IPのウォームアップ
メール送信の要件にもよりますが、何万通と送信が必要なメールサービスの運営を行うためには、「IPのウォームアップ」を行い、
送信元のレピュテーションを向上させる必要があります。
まだメール送信を行っていないメールサーバーのレピュテーションはいわば「0」の状態です。
その状態からアクティブな送信元に、少しづつ送信件数を増やすことで、レピュテーションを高めていき、
機能的にもレピュテーション的にも、安全かつ確実な送信サービスを構築することができます。
その他
レピュテーション・ブラックリストの確認
SendGridのブログにて、レピュテーションの確認とブラックリストの確認方法を紹介してくれています。