【えすえむてぃーぴーおーす】

SMTP-AUTH(SMTP認証) とは?

最終更新:
💡 送信サーバーを使うための、アカウントの確認

SMTPのAUTH拡張を使い、メール送信サーバーへ接続したクライアントを認証する仕組み。パスワードやOAuthのアクセストークンなど、対応する方式でサーバー利用者を確認する。

📌 このページのポイント
送信サーバーの利用者を確認する TLSで保護する通信区間 メールソフト クライアント 送信サーバー MSA AUTH 認証要求 パスワードやOAuthのトークンなど 認証したアカウント 誰の利用かを確認 サーバーの方針 送信の権限などを確認 差出人欄や本文の安全性までは保証しない
メールソフトからの送信受付の例。矢印は要求の方向。TLSはこの区間の通信を保護し、認証とサーバーの利用方針で受付を制御する。
ひよこ ひよこ
メールソフトで送信するときの認証?
ペンギン先生 ペンギン先生
そうだよ。メールソフトなどが送信サーバーを利用する際に、AUTHコマンドでアカウントを認証する。誰の利用として受け付けるかを判断する材料で、その後の送信可否はサーバーの方針にも従うんだ
ひよこ ひよこ
SMTPなら、誰でもどこへでも送れるの?
ペンギン先生 ペンギン先生
そのように中継を許す設定は不正中継につながるけど、SMTPを使うサーバーが全部そうとは限らないよ。メールソフトからの送信受付と、サーバー同士の転送を区別して、認証やアクセス制限などを適用するんだ
ひよこ ひよこ
認証はパスワードだけ?
ペンギン先生 ペンギン先生
方式はいろいろあるよ。PLAINなどのパスワード方式に加え、GmailのXOAUTH2のようにOAuth 2.0のアクセストークンを使う例もある。メールソフトとサービスの両方が対応する方式を使うんだ
ひよこ ひよこ
TLSやポート番号とはどう違うの?
ペンギン先生 ペンギン先生
TLSは通信を保護する役割で、SMTP-AUTHは利用者を認証する役割。送信受付では587番でSTARTTLSを使う構成や、465番で接続の最初からTLSを使う構成がある。サービスが指定する組み合わせを確認するんだ
ひよこ ひよこ
PLAINなら、そのままパスワードを送るの?
ペンギン先生 ペンギン先生
SMTPのAUTHではデータをBase64で表すけど、Base64は暗号化ではないよ。パスワード方式では、TLSなどで保護した通信が必要。認証の名前に「AUTH」があるだけで通信全体が暗号化されるとは考えないでね
ひよこ ひよこ
認証できたら、差出人も内容も信用できる?
ペンギン先生 ペンギン先生
アカウントの認証だけでは、差出人欄の正当性や本文の安全性まで保証できないよ。認証に成功しても、権限や宛先、メッセージにサーバーの制限を適用できる。認証情報が盗まれる問題などにも、別の対策が必要なんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「SMTP-AUTH」って出てきたら「送信サーバーを利用するアカウントを確認する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「SMTP Authentication」 = SMTP認証
💬 SMTPはSimple Mail Transfer Protocol(メールを送る通信手順)、Authenticationは認証だよ。SMTPに認証を追加する拡張で、メールに書かれた差出人の実在を証明するという意味ではないんだ

参考資料

← 用語集にもどる