メールサーバとメールの 配送の 仕組み

26
メメメメメメメメメメメメメメメメメ 神神神神神神神神神神神神神神 4 神 神神神神 ( 神神神神神神神神神神神神神神 ) 神神神神 ( 神神神神神神神神 )

description

メールサーバとメールの 配送の 仕組み. 神戸大学理学部地球惑星科学科 4 年 河合佑太 ( 地球および惑星大気科学研究室 ) 、 坂本大樹 ( 宇宙物理学研究室 ). 目次. 0 . メール送受信の 大まかな流れ 1 . MTA , MDA , MUA 2 . メールの送受信とプロトコル SMTP POP IMAP. メール送受信の大まかな流れ. メール 送受信 の 大まかな流れ. 送信者がメールソフトを使ってメールをメールサーバに送る 宛先アドレスを 管理する メールサーバへメールを転送する - PowerPoint PPT Presentation

Transcript of メールサーバとメールの 配送の 仕組み

Page 1: メールサーバとメールの 配送の 仕組み

メールサーバとメールの配送の仕組み

神戸大学理学部地球惑星科学科 4 年河合佑太 ( 地球および惑星大気科学研究室 ) 、 坂本大樹( 宇宙物理学研究室 )

Page 2: メールサーバとメールの 配送の 仕組み

0 . メール送受信の大まかな流れ1 . MTA , MDA , MUA2 . メールの送受信とプロトコル

◦SMTP◦POP◦IMAP

目次

Page 3: メールサーバとメールの 配送の 仕組み

メール送受信の大まかな流れ

Page 4: メールサーバとメールの 配送の 仕組み

メール送受信の大まかな流れ

http://linuxexpert.ne.jp/modules/pukiwiki/46.html

• 送信者がメールソフトを使ってメールをメールサーバに送る• 宛先アドレスを管理するメールサーバへメールを転送する• 受信者は自分のメールサーバに受信メールの有無を問い合わせる• 受信メールが有れば、そのメールを受信 する

Page 5: メールサーバとメールの 配送の 仕組み

MUA, MTA, MDA

Page 6: メールサーバとメールの 配送の 仕組み

MUA ( Mail User Agent )– ユーザーがメールを扱うためのプログラム– メールの閲覧、作成– メールの送受信

■ Thunderbird , Outlook Express など

MUA とは

* 手紙を送る場合で考えると  手紙を書いたり、受け取った手紙を管理したりするほか、  書いた手紙を郵便局のポストに投函したり、郵便局から  手紙を取ってくる役割

Page 7: メールサーバとメールの 配送の 仕組み

MTA ( Mail Transfer Agent )– メール転送経路の決定するプログラム■ sendmail , qmail など

MDA ( Mail Delivery Agent )◦ リモート MDA

– 他のメールサーバへのメールの配送するプログラム◦ ローカル MDA

– メールをメールボックスに格納するプログラム 

  

MTA , MDA とは

* 手紙を送る場合で考えると  郵便局に相当し、手紙を郵便局間で郵送し、私書箱に振り  分けるような役割 

Page 8: メールサーバとメールの 配送の 仕組み

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

Page 9: メールサーバとメールの 配送の 仕組み

通信をする上で必要になる約束事をまとめたもの

  ・ メールの送受信に関係するのは SMTP , POP , IMAP

プロトコルとは

日本語

■ 人の場合

プロトコル

■ コンピュータの場合

Page 10: メールサーバとメールの 配送の 仕組み

メール送受信の流れ

Page 11: メールサーバとメールの 配送の 仕組み

SMTP ( Simple Mail Transfer Protocol ) MUA から MTA へのメッセージの送信や、 MTA 間での

メッセージの転送で使用されるプロトコル – メールの送信に必要な情報、およびメール本文をどのような手順で送

信するかを決めている

SMTP とは

Page 12: メールサーバとメールの 配送の 仕組み

SMTP  エンベロープ◦ MTA がメールを転送するときに必要となる宛先 , お

よび送信元の情報 メール本体

◦ ヘッダ  : 送信元、宛先、送信日時などの情報 エンベロープの From/To と異なっていても良い

◦ 本文 : メール本文

SMTP 通信でやり取りされるメールの構造

メール本体

エンベロープ

Page 13: メールサーバとメールの 配送の 仕組み

クライアントからメールサーバへメールを送信する際の SMTP 通信◦ クライアントの「コマンド」とメールサーバからの「レス

ポンス」で通信が行われる◦ 通信内容の様子

( 送信先サーバに接続 )   220 mail.hoge.jp ESMTP

    HELO hoge.com     250 mail.hoge.jp

  MAIL From: ( 送信元 )   250 ok  RCPT To: (宛先)      250 ok  DATA 354 go ahead

  ( メール本分 ) .

       250 ok   QUIT      221 mail.hoge.jp

SMTP 通信の様子 1

送信元が打ったコマンド 送信先サーバからのレスポンス

Page 14: メールサーバとメールの 配送の 仕組み

◦ 通信内容の様子を詳しく見てみる     ( 送信先サーバに接続 ) 220      HELO hoge.com   250

     MAIL From: ( 送信元 ) 250     RCPT To: (宛先) 250     DATA   354         ( メール本分 )

   .        250      QUIT   221

SMTP 通信の様子 2

送信元が打ったコマンド 送信先サーバからのレスポンス

接続を確認 ->送信元アドレス指定 ->宛先アドレス指定 ->

メール本文の開始 ->

本文の終了は 「 . 」 ->

処理の終了 ->これらの数値

(SMTP レスポンスコード ) にはそれぞ

れ意味がある . 200~300 番台は

エラーなしを基本的には意味する .

Page 15: メールサーバとメールの 配送の 仕組み

MUA -> MTA ◦ エンベロープの情報やメール本体をコマンドとレスポン

スを通してメールサーバへと SMTP 通信する . 実際コマンドやレスポンスによって転送処理を行う処理は

メールソフトが行ってくれる

MTA -> MTA◦ 基本的には MUA -> MTA と同じである◦ メールの受信者が自己のサーバ内にある場合は , ローカ

ル MDA によってメールボックスへと格納される (リモート MDA と MTA はセットになったものが一般的であるが , ローカル

MDA と MTA は別のソフトウエアである場合が多い)

SMTP におけるメールの送受信

Page 16: メールサーバとメールの 配送の 仕組み

POP(Post Office Protocol)◦ インターネット上で電子メールを保存しているサーバか

らメールを受信するためのプロトコル メールサーバが受信したメールは , ヘッダーと本文全てク

ライアントに転送される . メールが手元に送られれば , オフラインでも再度メールを確認

できる . メールサーバ上に普通メールは残さない(残すこともできる) .

複数の PC でメールを確認したい時に不便 パスワードを平文で送るために盗聴される危険性がある .

APOP ではパスワードを暗号化する . ( 近頃は SSL による通信の暗号化を推奨 )

POP とは

Page 17: メールサーバとメールの 配送の 仕組み

クライアントの「コマンド」とメールサーバからの「レスポンス」で通信が行われる

コマンドとレスポンスは 3 段階◦ 認証

ユーザ名とパスワードで認証◦ トランザクション

受信メールの情報やメールの転送◦ アップデート

POP によるメールの受信

Page 18: メールサーバとメールの 配送の 仕組み

IMAP(Internet Message Access Protocol)◦ メールサーバ上のメールにアクセスし操作するためのプ

ロトコル POP とは異なり , メールはサーバ上のメールボックスで管

理される . タイトルや発信者を見て手元にメールを受信するかを決められ

る . 複数の PC でメールを扱う際にメールの未読状態やフォルダの

管理を一元的に行える . ローカルに保存さえすればオフラインでもメールを確認できる .

IMAP とは

Page 19: メールサーバとメールの 配送の 仕組み

メール送受信に関するプログラム◦ MUA : ユーザがメールの作成や送受信などを行うためのプログ

ラム◦ MTA : メールを受信し配送経路を決めるためのプログラム◦ MDA : メールを配送するためのプログラム

メール送受信に関するプロトコル◦ SMTP : メール送信に関わるプロトコル◦ POP, IMAP : メール受信に関わるプロトコル

IMAP はメールサーバ上でメールを一元管理

まとめ

Page 20: メールサーバとメールの 配送の 仕組み

211 ・・・ システムのステータス , システムヘルプ応答 214 ・・・ ヘルプメッセージ , コマンド使用方法 220 ・・・ パラメータに指定されるドメイン名のサーバを準備 221 ・・・ コネクションのクローズ ( QUIT への応答 ) 250 ・・・ リクエストされたコマンドの終了 251 ・・・宛先として指定されたアドレスがローカルに存在しないこ

とを示    す 252 ・・・ VRFY コマンドでユーザーが確認できないことを示す

◦ ユーザーがローカルに存在しない◦ メールの送信は可能である

354 ・・・ メールデータの入力を促す◦ 最後は <CR> <LF> <CR> <LF> で終了すること

補足 . SMTP レスポンス一覧その1

Page 21: メールサーバとメールの 配送の 仕組み

412 ・・・ ホストのメールサービスが起動していないことを示す◦ TCP コネクションを切断◦ メール転送中のサーバのシャットダウン時もこのレスポンス

450 ・・・ メールボックスがビジーであるため、リクエストされたコマンドが実    行されない

451 ・・・ ローカルエラーのため、指定コマンドが実行されない 452 ・・・ リクエストされたコマンドは実行されない 500 ・・・ コマンドの文法エラー 501 ・・・ 指定コマンドのパラメータエラー

補足 . SMTP レスポンス一覧その2

Page 22: メールサーバとメールの 配送の 仕組み

コマンド一覧Authentication : クライアントの確認– USER ・・・ ユーザー名– PASS ・・・ パスワード– APOP ・・・ USER と PASS の代わりに用いるユーザーの認証

のためのコマンドTransaction : メッセージに対する操作– STAT ・・・ 受信メール数とそのサイズの表示要求– LIST ・・・ 受信メールの一覧と各メールのサイズの表示要求– RETR ・・・ 指定した受信メールの転送要求

補足 . POP でのコマンド&レスポンスその1

Page 23: メールサーバとメールの 配送の 仕組み

コマンド一覧Update– QUIT ・・・ 接続を切断して終了

   ※ DERE で指定したメールがあれば消去

レスポンス+ OK 状態表示 ・・・ 肯定反応- ERR 状態表示 ・・・ 否定反応

補足 . POP でのコマンド&レスポンスその2

Page 24: メールサーバとメールの 配送の 仕組み

図は 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)

補足 . エンベロープとヘッダーの関係

Page 25: メールサーバとメールの 配送の 仕組み

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/

参考文献

Page 26: メールサーバとメールの 配送の 仕組み

ネットワークの基本がまるごとわかる本発行人 福岡俊弘 , 編集人 土屋信明 , 発行所 株式会社アスキー

参考文献