SMTP
読み:エスエムティーピー
外語:SMTP: Simple Mail Transfer Protocol
電子メール
のホスト間
通信プロトコル
の一つで、最も普及しているもの。
目次
概要
特徴
機能
アドレス
エンベロープアドレス
封筒と便箋
応用方法
技術
MIME
ESMTP
ポート
送信
RFC
沿革
関連RFC
概要
インターネットで、
メールサーバー
にメールを送信したり、ホスト間でメールを転送するための通信プロトコルである。
US-ASCII
によるコマンド送受信を主体とした古式な7ビット環境であるが、現在も代替はなく、広く普及する主流である。
特徴
機能
SMTPは、送信側が主体のプロトコルであり、断続的にしかネットワークに接続されない端末宛への送信に対しては、有効な働きをしない。
そのため、あらかじめ
POPサーバー
と呼ばれる別のサーバーを相手先に用意し、ユーザー別にメールボックスに保存しておく。送信先のユーザーは必要なときにPOPサーバーに接続し、自分宛てのメールをPOPサーバーから受信する。
アドレス
エンベロープアドレス
電子メールにはFromアドレス(送信元)とToアドレス(宛先)が欠かせない。
しかしメーラーと呼ばれる電子メールソフトウェアで画面に表示されるFromアドレス/Toアドレスと、SMTPサーバー間のプロトコルでやりとりされるFromアドレス/Toアドレスは、別のものとなる。
このうち、SMTPサーバー間のプロトコルで使われるものを「
エンベロープアドレス
」という。
普段は同じものが使われるが、場合によっては異なるものを用いることもある。
封筒と便箋
この構造は、SMTPは「封筒」(エンベロープ)、メールヘッダーや本文含めたメールの内容は「便箋」に喩えられている。
メーラーで表示されるFromアドレス/Toアドレスは、メールの内容のうちメールヘッダー部分に記述された情報である。つまり、「便箋」に書かれた情報である。
対して、SMTPを用いて送受信する際に用いるFromアドレス/Toアドレスは別に存在しており、これをエンベロープFromアドレス/エンベロープToアドレスという。エンベロープアドレスは「封筒」に書かれた宛先と送り主の情報であると言える。
SMTPサーバーは「封筒」を見てメールを配送する。
応用方法
殆どの場合、メールヘッダーのアドレスとエンベロープアドレスは同じものが使われるが、メーリングリストなどでは異なってくる。
メーリングリストで、メーラーで表示されるToがメーリングリストのアドレスなのに、各メンバーにメールが届くのは、エンベロープToアドレスが各メンバーのものとなっているからである。
技術
MIME
SMTPで送信する電子メールは、元々はメールアドレス、メールヘッダーとメール本文、全てで7ビットしか使えないものだった。
そこで、
MIME
と呼ばれる手法を用いることで、8ビットの情報を7ビットで表現したり、他にも様々な付加機能を実現している。
これによって、8ビットとなるバイナリファイルの添付なども可能となった。
ESMTP
プロトコル自体を8ビット対応にするものもある。
ESMTP
として
RFC 1869
で8ビット拡張された後、
RFC 2821
に吸収され標準化された。
このため現在では8ビットでも送受信可能なサーバーが一般的になりつつあるが、古いサーバーでは7ビットしか使えないものも現存する。
ポート
SMTPの本来の任務はメールサーバー(
MTA
)間の転送だが、メールソフト(
MUA
)からメールサーバー(MTA)宛にメールを送信する場合にも使うことができる。
MTA間の転送は、25/tcpを使う。
MUA→MTAの場合も、かつては25/tcpを使うのが一般的だった。現在ではMessage submissionプロトコル(
RFC 6409
)を使うのがインターネット標準で、そのためのポートは587/tcpである(ただし25/tcpも利用可能)。
送信
メールを送信する場合は、一旦最寄りのSMTPサーバーへメールを投函する(これがメーラの設定に書くSMTPサーバー名)。
サーバーは宛て先の
IPアドレス
を
DNS
へ照会し、送り先が存在すればそのホストへ向かって送信する。
当然ながら途中にはファイアウォールの外のサーバーを幾つか経由することになるため、盗聴の危険性がある。セキュリティを要する場合には
PGP
や
PEM
などを利用して暗号化するのが一般的である。
RFC
沿革
現在は、
RFC 5321
で規定され、Standards Track(標準化過程)となっている。
SMTPに関する直接的なRFCと、それに関連するRFCの沿革は次の通り。
1980(昭和55)年9月:
RFC 722
MAIL TRANSFER PROTOCOL
1981(昭和56)年5月:
RFC 780
MAIL TRANSFER PROTOCOL
1982(昭和57)年8月:
RFC 821
SIMPLE MAIL TRANSFER PROTOCOL
1986(昭和61)年1月:
RFC 974
MAIL ROUTING AND THE DOMAIN SYSTEM
1999(平成11)年3月:
RFC 2554
SMTP Service Extension for Authentication (
SMTP AUTH
)
1995(平成7)年11月:
RFC 1869
SMTP Service Extensions (
ESMTP
)
1996(平成8)年1月:
RFC 1891
SMTP Service Extension for Delivery Status Notifications
2001(平成13)年4月:
RFC 2821
Simple Mail Transfer Protocol
2003(平成15)年1月:
RFC 3461
Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery Status Notifications (DSNs)
2006(平成18)年4月:
RFC 4408
Sender Policy Framework (SPF) for Authorizing Use of Domains in E-Mail, Version 1
2007(平成19)年5月:
RFC 4871
DomainKeys Identified Mail (DKIM) Signatures
2007(平成19)年7月:
RFC 4954
SMTP Service Extension for Authentication (SMTP AUTH)
2008(平成20)年10月:
RFC 5321
Simple Mail Transfer Protocol
2009(平成21)年8月:
RFC 5672
RFC 4871 DomainKeys Identified Mail (DKIM) Signatures -- Update
2011(平成23)年9月:
RFC 6376
DomainKeys Identified Mail (DKIM) Signatures
RFC 821として長く運用され、約20年経ちインターネットメールの普及に伴う様々な拡張機能を押さえること、2000年問題対応などのため、RFC 2821として改定され、
提案標準プロトコル
(Proposed Standard)となった。
その後、
SPF
(
RFC 4408
)、DKIM(
RFC 4871
)などへの対応のために再度、RFC 5321として改訂された。これは
草案標準
(ドラフト標準)である。
関連RFC
これを著している時点での最新版。
RFC 5321
‐ Simple Mail Transfer Protocol
RFC 3461
‐ Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery Status Notifications (DSNs)
RFC 4954
‐ SMTP Service Extension for Authentication (
SMTP AUTH
)
かつてのもの。
RFC 1869
SMTP Service Extensions (
ESMTP
)
再検索