神戸大学理学部地球惑星科学科 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/ ネットワークの基本がまるごとわかる本 発行人 福岡俊弘 , 編集人 土屋信明 , 発行所 株式会社アスキー
© Copyright 2024 ExpyDoc