ITパスポート試験 用語辞典

えすえむてぃーぴー
SMTP
【Simple Mail Transfer Protocol】
インターネット環境において、クライアントからメールサーバに電子メールを送信したり、メールサーバ間で電子メールを転送したりするのに用いられるプロトコル。
本来の規格では7ビットのASCIIしか扱うことができないが、MIMEという方式を用いることでマルチバイトで表現する言語や添付ファイルも7ビットに収まるように変換して送信することが可能になっている。
↓ 用語データを見る
別名:
簡易メール転送プロトコル
分野:
分野:テクノロジ系
中分類:ネットワーク
小分類:通信プロトコル
重要度:
(Wikipedia Simple Mail Transfer Protocolより)

Simple Mail Transfer Protocol(シンプル メール トランスファー プロトコル、SMTP)または簡易メール転送プロトコルは、インターネットで電子メールを転送するプロトコルである。通常 TCP のート番号 25 を利用する。
転送先のサーバを特定するために、DNS の MXレコードが使われる。RFC 5321 で標準化されている。

概要

SMTP は IETF において標準化されたメール転送のためのプロトコルである。1980年 9 月にメール転送プロトコル(Mail Transfer Protocol)という名称のプロトコルが RFC 772 において提案され、2 回の改訂を経て 1982年 8 月に簡易メール転送プロトコル(SMTP)という名称で RFC 821 / STD0010 として標準(Standard)になった。

その後 2001年 4 月に SMTP は他の RFC の内容もあわせて改訂され、RFC 2821 として提案標準(Proposed Standard)になった。RFC 821 から約 20 年を経て改訂版が発行されたのは、おもにインターネットの普及にともなって様々なメール拡張機能が実装され、それらをささえる部分を整理する必要があったからである。サーバ外からの攻撃や、IPv6のアドレスにも対応できるよう、またSPF(RFC 4408)、DKIM(RFC 4871)などにも対応すべく 2008年10月に再度改訂(RFC 5321)された。

SMTP はメールサーバの メール転送エージェント|MTA 間の転送だけでなく、MUA からメールサーバにメールを送信するときにも使われることが多い。

ただし、この場合受信したサーバ側のふるまいがサーバ同士の転送と異なる点が多いため、サーバ側を MSA と呼びート番号 587 を利用し、通常の MTA と分けることが多くなってきている (RFC 5321 で RFC 4409 が推奨になった)。

SMTP は本来テキストベースのプロトコルであり、要求/応答メッセージのみではなく、全ての文字が 7 bit ASCII でなければならないという制限があった。現在では拡張機能により 8 bit 以上を要求する言語や添付ファイルに使われることの多いバイナリもそのまま転送することも可能であるが、互換性を考慮すると、MIME という方式で、7 bit に収まるようにすることが望ましい。

なお、日本語は通常 ISO-2022-JP という文字コードを使うことで、全てのバイトが 7 bit に収まるようにしている。

SMTP においてはサーバとクライアントの役割が明確に分離されている。RFC 5321 によれば、それらは下図のように記述される。

  +--------+    +---------+                  +---------+
  |  User  |<-->|         |                  |         |
  +--------+    |         |       SMTP       |         |
                | Client- | Commands/Replies | Server- |
  +--------+    |   SMTP  |<---------------->|   SMTP  |    +--------+
  |  File  |<-->|         |     and Mail     |         |<-->|  File  |
  | System |    |         |                  |         |    | System |
  +--------+    +---------+                  +---------+    +--------+
                SMTP client                  SMTP server

SMTP においてはクライアントがサーバに接続するとただちにサーバ - クライアント間に "SMTP セッション" が確立され、その後、両者の間で FTP の様な対話型でコマンドやそれに対する応答やメールがやりとりされる。メール・トランザクションはそのうち DATA コマンドを利用したデータの送信であるため、一つの SMTP セッション中には複数のメール・トランザクションが含まれうる。セッションの終了のためには QUIT コマンドが使用されるが、この点においても FTP との同様である。

SMTP においてはトランスポート・プロトコルとして通常 TCP が使用されるが、それに限定されることはない。

SMTP の認証機構

SMTP-AUTH

前述のSMTP標準にはユーザー認証機構が含まれていないが、インターネットの普及に伴ってその必要に迫られたため SASL メカニズムを利用した認証機構が RFC 2554 - SMTP Service Extension for Authentication(SMTP-AUTH)として標準化された。この標準の最新文書は RFC 4954 である。

POP before SMTP

SMTP-AUTH 標準化以前に普及したユーザー制限方法。メール送信する前にメール受信(POP3 の ログイン)を要求するため、こう呼ばれる。RFC 2476 - Message Submission において、クライアントを制限する方法の一つに挙げられたもの。
POP before SMTP

RFC

  • RFC 5321 - Simple Mail Transfer Protocol - obsoletes RFC 2821, RFC 1869
  • RFC 3461 - Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery Status Notifications (DSNs) - obsoletes RFC 1891
  • RFC 4954 - SMTP Service Extension for Authentication - obsoletes RFC 2554
  • RFC 6409 - Message Submission for Mail - obsoletes RFC 4409
  • RFC 4408 - Sender Policy Framework (SPF) Authorizing Use of Domains in E-Mail, Version 1
  • RFC 6376 - DomainKeys Identified Mail (DKIM) Signatures - obsoletes RFC 4871, RFC 5672

「通信プロトコル」の用語

「ネットワーク」の他の分野

「テクノロジ系」の他のカテゴリ

このページのWikipediaよりの記事は、ウィキペディアの「Simple Mail Transfer Protocol」(改訂履歴)の記事を複製、再配布したものにあたり、このページ内の該当部分はクリエイティブ・コモンズ 表示 - 継承 3.0 非移植 ライセンスの下 に提供されています。


Pagetop