メール送信用プロトコルのSMTPはもともと認証を必要としない仕様であり、語弊はありますが誰でもメールサーバーを利用することができました。そのため少しの知識があれば迷惑メール(スパムメール)を簡単に送れた時代もあります。
特に規制されるまでの1990年代後半から2000年代前半がひどく、ピークの頃にはインターネットに流れるメールの約8割が迷惑メールであったこともあります。2002年にいわゆる迷惑メール規制法が施行され、改正毎に内容も罰則も強化されています。世界的な取り組みもあり、徐々にですが迷惑メールは少なくなっています。
話はそれましたが、迷惑メール対策としてメール送信にも認証を必要とするようになりました。それがPOP before SMTPとSMTP-AUTHです。
その名の通りメール送信の前にメール受信が必要となります。
アカウント認証が必要なPOPによるメール受信をすることで、正規ユーザーであることがメールサーバー側で確認できます。サーバーはPOPを利用したクライアント(パソコン)のIPアドレスをSMTP許可リストに追加して一定時間保持します。
つまり、メール受信後に送信を行うことで、同じIPアドレスからのメール送信(SMTP)が可能となります。
しかし、POP before SMTPには問題点があります。例えば、同じIPアドレスを共有するネットワーク環境(NAT)では、全てのユーザーにSMTPを許可することになります。
上記のようにPOP before SMTPは厳密に迷惑メールを防げるわけではありませんが、正規ユーザー以外の不正利用に対して一定の効果はありました。
POP before SMTPは既存のシステムを大きく変更する必要がなかったため、比較的早く普及しました。ただし、認証の仕組みはその場しのぎのようなものであり、SMTP-AUTHが普及するまでのつなぎとして考えられていました。
SMTP-AUTH(SMTP Authentication)は、SMTPに認証機能を追加したものでありPOPと同様に送信前にアカウント認証を必要とします。POP before SMTPと比較して、SMTP-AUTHはクライアントとサーバー、双方の対応が必要であったため普及が遅くなりました。
認証方法にはPLAIN、LOGIN、CRAM-MD5、DIGEST-MD5などがあります。どの認証に対応しているかはレンタルサーバー、そしてメールクライアントによって異なります。新しい認証方法としてはSCRAM(Salted Challenge Response Authentication Mechanism)があります。
インターネットプロバイダによる迷惑メール対策「Outbound Port 25 Blocking(OP25B)」により、最近ではSMTPの標準ポート25番は利用できなくなっています。その代わりに587番ポート(サブミッションポート)が利用されるようになりました。ただし、認証なしでは25番ポートと変わらないためSMTP-AUTHとの利用が必要条件となっています。
最近では、POP bofore SMTPを廃止してSMTP-AUTHのみ対応しているレンタルサーバーも多くあります。逆に言えばPOP before SMTPのみ対応しているレンタルサーバーはセキュリティ意識が低いのかまたはシステムが古いのかもしれません。