メールの送受信とプロトコル

Download Report

Transcript メールの送受信とプロトコル

神戸大学理学部地球惑星科学科 4 年
河合佑太(地球および惑星大気科学研究室)、 坂本大樹(宇
宙物理学研究室)
0 . メール送受信の大まかな流れ
1 . MTA , MDA , MUA
2 . メールの送受信とプロトコル
◦ SMTP
◦ POP
◦ IMAP
•
•
•
•
送信者がメールソフトを使ってメールをメールサーバに送る
宛先アドレスを管理するメールサーバへメールを転送する
受信者は自分のメールサーバに受信メールの有無を問い合わせる
受信メールが有れば、そのメールを受信 する
http://linuxexpert.ne.jp/modules/pukiwiki/46.html
MUA ( Mail User Agent )
– ユーザーがメールを扱うためのプログラム
– メールの閲覧、作成
– メールの送受信
■
Thunderbird , Outlook Express など
* 手紙を送る場合で考えると
手紙を書いたり、受け取った手紙を管理したりするほか、
書いた手紙を郵便局のポストに投函したり、郵便局から
手紙を取ってくる役割
MTA ( Mail Transfer Agent )
–
■
メール転送経路の決定するプログラム
sendmail , qmail など
MDA ( Mail Delivery Agent )
◦ リモートMDA
–
他のメールサーバへのメールの配送するプログラム
◦ ローカルMDA
–
メールをメールボックスに格納するプログラム
* 手紙を送る場合で考えると
郵便局に相当し、手紙を郵便局間で郵送し、私書箱に振り
分けるような役割

通信をする上で必要になる約束事をまとめたもの
・ メールの送受信に関係するのは SMTP , POP , IMAP
■ 人の場合
日本語
■ コンピュータの場合
プロトコル
SMTP ( Simple Mail Transfer Protocol )

MUA から MTA へのメッセージの送信や、MTA 間でのメッ
セージの転送で使用されるプロトコル
– メールの送信に必要な情報、およびメール本文をどのような手順で送信す
るかを決めている

SMTP エンベロープ
◦ MTA がメールを転送するときに必要となる宛先, および送
信元の情報

メール本体
◦ ヘッダ : 送信元、宛先、送信日時などの情報
 エンベロープの From/To と異なっていても良い
◦ 本文 : メール本文
エンベロープ
メール本体

クライアントからメールサーバへメールを送信する際
の SMTP 通信
◦
クライアントの「コマンド」とメールサーバからの「レスポンス」
で通信が行われる
◦ 通信内容の様子
送信元が打ったコマンド
送信先サーバからのレスポンス
(送信先サーバに接続)
HELO hoge.com
MAIL From: (送信元)
RCPT To: (宛先)
DATA
(メール本分)
.
220 mail.hoge.jp ESMTP
250 mail.hoge.jp
250 ok
250 ok
354 go ahead
QUIT
250 ok
221 mail.hoge.jp
◦ 通信内容の様子を詳しく見てみる
送信元が打ったコマンド
(送信先サーバに接続)
接続を確認 -> HELO hoge.com
送信元アドレス指定 -> MAIL From: (送信元)
宛先アドレス指定 -> RCPT To: (宛先)
メール本文の開始 ->DATA
(メール本分)
本文の終了は 「. 」 -> .
処理の終了 -> QUIT
送信先サーバからのレスポンス
220
250
250
250
354
250
221
これらの数値(SMTP
レスポンスコード)に
はそれぞれ意味があ
る. 200~300 番台
はエラーなしを基本
的には意味する.

MUA -> MTA
◦ エンベロープの情報やメール本体をコマンドとレスポンスを通
してメールサーバへと SMTP 通信する.
 実際コマンドやレスポンスによって転送処理を行う処理はメール
ソフトが行ってくれる

MTA -> MTA
◦ 基本的には MUA -> MTA と同じである
◦ メールの受信者が自己のサーバ内にある場合は, ローカル
MDA によってメールボックスへと格納される
(リモートMDA と MTA はセットになったものが一般的であるが, ローカル MDA と
MTA は別のソフトウエアである場合が多い)
POP(Post Office Protocol)
◦ インターネット上で電子メールを保存しているサーバからメー
ルを受信するためのプロトコル
 メールサーバが受信したメールは, ヘッダーと本文全てクライア
ントに転送される.
 メールが手元に送られれば, オフラインでも再度メールを確認できる.
 メールサーバ上に普通メールは残さない(残すこともできる).
 複数のPCでメールを確認したい時に不便
 パスワードを平文で送るために盗聴される危険性がある.
 APOP ではパスワードを暗号化する. (近頃は SSL による通信の暗
号化を推奨)


クライアントの「コマンド」とメールサーバからの「レス
ポンス」で通信が行われる
コマンドとレスポンスは 3 段階
◦ 認証
 ユーザ名とパスワードで認証
◦ トランザクション
 受信メールの情報やメールの転送
◦ アップデート
IMAP(Internet Message Access Protocol)
◦ メールサーバ上のメールにアクセスし操作するためのプロト
コル
 POP とは異なり, メールはサーバ上のメールボックスで管理され
る.
 タイトルや発信者を見て手元にメールを受信するかを決められる.
 複数のPC でメールを扱う際にメールの未読状態やフォルダの管理
を一元的に行える.
 ローカルに保存さえすればオフラインでもメールを確認できる.

メール送受信に関するプログラム
◦ MUA : ユーザがメールの作成や送受信などを行うためのプログラム
◦ MTA : メールを受信し配送経路を決めるためのプログラム
◦ MDA : メールを配送するためのプログラム

メール送受信に関するプロトコル
◦ SMTP : メール送信に関わるプロトコル
◦ POP, IMAP : メール受信に関わるプロトコル
 IMAP はメールサーバ上でメールを一元管理







211
214
220
221
250
251
・・・ システムのステータス , システムヘルプ応答
・・・ ヘルプメッセージ , コマンド使用方法
・・・ パラメータに指定されるドメイン名のサーバを準備
・・・ コネクションのクローズ ( QUIT への応答 )
・・・ リクエストされたコマンドの終了
・・・宛先として指定されたアドレスがローカルに存在しないことを示
す
252 ・・・VRFY コマンドでユーザーが確認できないことを示す
◦ ユーザーがローカルに存在しない
◦ メールの送信は可能である

354 ・・・ メールデータの入力を促す
◦ 最後は <CR> <LF> <CR> <LF> で終了すること






412 ・・・ ホストのメールサービスが起動していないことを示す
◦ TCP コネクションを切断
◦ メール転送中のサーバのシャットダウン時もこのレスポンス
450 ・・・ メールボックスがビジーであるため、リクエストされたコマンドが実
行されない
451 ・・・ ローカルエラーのため、指定コマンドが実行されない
452 ・・・ リクエストされたコマンドは実行されない
500 ・・・ コマンドの文法エラー
501 ・・・ 指定コマンドのパラメータエラー
コマンド一覧
Authentication : クライアントの確認
– USER ・・・ ユーザー名
– PASS ・・・ パスワード
– APOP ・・・ USER と PASS の代わりに用いるユーザーの認証のた
めのコマンド
Transaction : メッセージに対する操作
– STAT ・・・ 受信メール数とそのサイズの表示要求
– LIST ・・・ 受信メールの一覧と各メールのサイズの表示要求
– RETR ・・・ 指定した受信メールの転送要求
コマンド一覧
Update
– QUIT ・・・ 接続を切断して終了
※ DERE で指定したメールがあれば消去
レスポンス
+ OK 状態表示 ・・・ 肯定反応
- ERR 状態表示 ・・・ 否定反応
図はSMTP配送の仕組みとsendmail より
(http://linuxexpert.ne.jp/modules/pukiwiki/index.php?%5B%5BMailServer%2FSMTP%C7%DB%C1%
F7%A4%CE%BB%C5%C1%C8%A4%DF%A4%C8sendmail%5D%5D)


2009 年度 ITPASS セミナー勉強会資料 「 メールサーバとメール配送の仕組み 」
◦ 清水條太郎 , 黒田美紀
https://itpass.scitec.kobe-u.ac.jp/seminar/lecture/fy2009/091002/pub/
Linuxexpert - SMTP配送の仕組みとsendmail-MailServer/SMTP配送の仕組みと
sendmail-PukiWiki
http://linuxexpert.ne.jp/modules/pukiwiki/46.html

メールを受け取る仕組みはどうなっていますか??|電子メールの秘密
http://ascii.jp/elem/000/000/439/439105/

ネットワークの基本がまるごとわかる本
発行人 福岡俊弘 , 編集人 土屋信明 , 発行所 株式会社アスキー