発表の手順

Simple Mail Transfer Protocol(SMTP)

1.Simple Mail Transfer Protocol(SMTP) とは
2.RFC821
3.RFC1869
4.SMTPの実装(sendmail)5.参考文献出典:RFC821,1869
情報工学専攻 修士1年
秦野克彦 牛島研究室
11月1日 分散システム特論

2

1. Simple Mail Transfer Protocolとは2.RFC821

SMTPの通信モデル

Simple Mail Transfer Protocol… 略して SMTP①

目的 : メールを確実に効率よく配送すること
要件 : 順序づけられたデータを確実に送ることができること

senderSMTP

ユーザー

②③④
receiverSMTP

SMTP
Command/Replies
and Mail

File
System•RFC821 … SMTPの仕様•RFC1869 … 拡張されたSMTP

File
SystemSMTPの通信手順

3①ユーザーからメール配送の要求② sender-SMTPとreceiver-SMTP間に配送チャンネルを確立③ sender-SMTPはコマンドをreceiver-SMTPに送る④receiver-SMTPはコマンドに応答する。
4

2.RFC821

2.RFC821

OSI参照モデル

SMTPの通信例
hostA

機能
プロトコル層特定のアプリケーションにアプリケーション層
HTTP,特化したプロトコル
ネットワーク共通のデータ
SMTP,
プレゼンテーション層
フォーマットの交換
コネクションの管理/切断
セッション層FTP
トランスポート層以下の管理
データ転送の管理
トランスポート層 （データを相手に確実に届ける） TCP,UDP
アドレスの管理とネットワーク層
ARP,IP,ICMP
経路の選択
直接接続された機器間におけるデータリンク層
データフレームの識別と転送ビット列と信号の変換
物理層
コネクタやケーブルの形状を規定
トランスポートサービス
TCP,NCP,NITS,X.25
5

hostB

HELO hostA
250
RCPT TO:<recv@hostB>
250
DATA
354

あんじょうよろしゅうにぃ。

.

250
QUIT
221

61

2.RFC821

2.RFC821

SMTPのコマンド•HELO•QUIT•MAIL
•RCPT

•DATA
•SEND
•SOML
•SAML

SMTPの最小構成
•RSET
•VRFY
•EXPN
•HELP

•NOOP
•TURN

•HELO
•MAIL
•RCPT

•DATA
•RSET
•NOOP

•QUIT

その他満たすべき仕様

SMTPの手続き•mailboxの名前と目的ホストの名前を完全に与えること•同じメールを複数人に送る時、同じ目的ホストには一通しか送らない•mailboxの名前は大文字小文字を区別する•コマンドや応答メッセージはASCII文字集合から成る•8ビット配送チャンネルで7ビット文字を送る時は、最上位ビットを0とする•OPENING and CLOSING•MAIL•FORWARDING•SENDING and MAILING•VERIFYING and EXPANDING•RELAYING•CHANGING ROLES
78

2.RFC821

3.RFC1869

その他の仕様•コマンドに対する文法

RFC1869の目的 :SMTP サーバが拡張されている時、そのことをクライアントに知らせること

HELO<sp><domain><CRLF>
MAIL<sp>FROM:<reverse-path><CRLF>
RCPT<sp>TO:<forward-path><CRLF>
DATA<CRLF>...

RFC1869で定義していること：•コマンドEHLO•コマンドEHLOに対する文法と応答コード-HELOの変わりにEHLOを使う•応答コードの定義
220 <domain> Service ready221 <domain> Service closing transmission channel
250 Requested mail action okay, completed
251 User not local; will forward to <forward-path>
354 Start mail input; end with <CRLF>.<CRLF>...

送信されたメールのヘッダ部分（一部）Received: from square.csce.kyushu-u.ac.jp (localhost [127.0.0.1])
by ace.csce.kyushu-u.ac.jp (8.9.3/3.7W99020520) with ESMTP id VAA20289
for <hatano@swlab.csce.kyushu-u.ac.jp>; Sun, 31 Oct 1999 21:18:40 +0900(JST)93.RFC1869

104.SMTPの実装拡張された内容

sendmail•RFC1652（8BITMIME）•RFC1870（
メッセージサイズ宣言）•RFC1891,1892,1893,1894（DSN,SMTP Service Extention for Delivery Status Notification）

Eric Allman 氏作のMTA
1999年10月31日現在バージョン8.9.3-release（http://www.sendmail.org/）•MTA（Mail Transport Agent）
メールの配送を行うプログラム•MUA（Mail User Agent）
メールを読み書きするためのプログラム

11

122

4.SMTPの実装

4.SMTPの実装

sendmailによるメール配送

メールの配送メールサーバA

SMTP

ローカルマシンインターネット

メールサーバB

SMTP

SMTPリモートマシンA（電源OFF）

POP

リモートマシンB

13

ace% /usr/lib/sendmail -v hatano@csce.kyushu-u.ac.jp
this is SMTP test.
.
hatano@csce.kyushu-u.ac.jp... Connecting to square.csce.kyushu-u.ac.jp. via smtp...
220 square.csce.kyushu-u.ac.jp ESMTP Sendmail 8.9.1a/3.7W;
Mon, 1 Nov 1999 00:07:25 +0900 (JST)>>> EHLO ace.csce.kyushu-u.ac.jp
250-square.csce.kyushu-u.ac.jp Hello ace.csce.kyushu-u.ac.jp [133.5.22.15], pleased to meet you
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN250-ONEX
250-ETRN
250-XUSR
250 HELP>>> MAIL From:<hatano@swlab.csce.kyushu-u.ac.jp> SIZE=19250 <hatano@swlab.csce.kyushu-u.ac.jp>... Sender ok>>> RCPT To:<hatano@csce.kyushu-u.ac.jp>
250 <hatano@csce.kyushu-u.ac.jp>... Recipient ok>>> DATA
354 Enter mail, end with "." on a line by itself>>> .
250 AAA09919 Message accepted for delivery
hatano@csce.kyushu-u.ac.jp... Sent (AAA09919 Message accepted for delivery)
Closing connection to square.csce.kyushu-u.ac.jp.
>>> QUIT221 square.csce.kyushu-u.ac.jp closing connection

145.参考文献•RFC821（SMTP）•RFC822（Standard for the Format ARPA Internet Text Messages）•RFC1869（拡張されたSMTP）•RFC1939（Post Office Protocol version3）•RFC2045（
Multipurpose Internet Messages Extensions Part One:）•sendmailシステム管理（第2版）O REILLY•DNS/BIND （第3版）O REILLY•マスタリングTCP/IP 入門編 オーム社開発局

153