SMTP

2023-03-04 (土) 12:38:30

SMTP とは

名称

  • Simple Mail Transfer Protocol
  • 簡易メール転送プロトコル

概要

システム構成

  • SMTPサーバ
  • SMTPクライアント

SMTPパケットの構成

  • IPヘッダ
  • TCPヘッダ(ポート番号:25)
  • SMTPデータ

エンベロープ

  • SMTPのメール配信で実際の送信元、送信先として使われる項目。(メールヘッダの項目が使われるわけではない)
  • From
    • SMTPのMAILコマンドの引数「MAIL FROM:」
    • 送信元メールアドレスで、メールヘッダ「Return-Path」に同じ値が設定されることがある。
  • To
    • SMTPのRCPTコマンドの引数「RCPT TO:」
    • 送信先メールアドレスで、メールヘッダ「Received」に同じ値が設定されることがある。

SMTP の処理フロー

  • 接続の確立
    • TCPコネクシション確立
    • (←)220:準備OK
    • (→)HELO or EHLO
    • (←)250:OK
  • 返信先・宛先の通知
    • (→)MAIL FROM
    • (←)250:OK
    • (→)RCPT TO
    • (←)250:OK
  • メッセージの送信
    • (→)DATA
    • (←)354:待受OK
    • (→)メール本文の送信
    • (←)250:OK
  • 接続の終了
    • (→)QUIT
    • (←)222:切断OK

SMTPプロトコルのコマンド

  • HELO
    • SMTP拡張機能をサポートしていない。
  • EHLO
    • Extended Hello
    • SMTP拡張機能をサポートしている。
  • MAIL FROM
    • エラーが発生した場合のバウンスメールの送信先アドレス
    • 送信者のエンベロープアドレス
    • メールヘッダの Return-Path: にセットされる
  • RCPT TO
    • 宛先のメールアドレス
    • 受信者のエンベロープアドレス
    • メールヘッダの Received: for にセットされる
  • VRFY
    • メールアドレスのアカウント情報を取得する
  • EXPN
    • メーリングリストに登録されているアカウントの情報を取得する
  • DATA
    • メール本文の送信要求
  • QUIT
    • 接続終了の要求

SMTPの認証

  • SMTP標準には認証の仕様を持たないので、以下の規格により認証を実現する。

SMTP-AUTH

POP before SMTP

  • POP3ユーザ認証機能を使ってSMTPを利用する方式
    • POP3で認証してから一定時間、メールの送信を許可する。
    • メールを受信してから、メールを送信する順番になる。
  • 認証に成功したクライアントのIPアドレスをPOPサーバに一定時間登録しておき、SMTPサーバは送信要求してきたクライアントのIPアドレスが登録されている場合のみ、送信要求を受ける。
  • RFC2476

通信の暗号化方式

SMTPS

  • SMTP over SSL
  • SMTP over TLS
  • クライアント(MUA)と発信元メールサーバ間の通信を暗号化する。
  • デジタル証明書によるユーザ認証を行うことも可能。
  • ポート番号:465/TCP

MTA-STS

  • RFC8461
  • SMTP Mail Transfer Agent Strict Transport Security

SMTP-TLSRPT

  • RFC8460
  • SMTP TLS Reporting

STARTTLS

  • 発信元メールサーバと受信側メールサーバ間の通信を暗号化するために使われる。
  • 暗号化されていない状態で通信を開始した後に、発信元メールサーバがSTARTTLSコマンドを実行して、受信側メールサーバが対応していると暗号化通信が開始される。
  • ポート番号:25/TCP

不正利用の対策

ISPなどが行っている対策

  • IP25B
    • 外部から迷惑メールを着信しないようにする
    • 自社および他社のISPから動的に割り当てられたIPアドレスを発信元とするISP内のメールサーバの25番ポート宛の通信を遮断することで、ISPのユーザが迷惑メールを着信しないようにする
  • OP25B
    • オープンリレー対策
    • ISPが指定したメールサーバ以外のメールサーバから外部のメールサーバの25番ポート宛の通信を遮断することで、ISPのユーザが迷惑メールを発信できないようにする

関連用語