Comments
Description
Transcript
電子メール
電子メール • • • • グループ7 宇賀 一登 小椋 智泰 久岡 敬司 矢野川 真帆 1 電子メールの開発動機 • これまでの伝達手段の欠点 – 1対1でしか情報を伝えられない – 情報の劣化(紙などの媒体) 欠点を補うため 複数の相手と通信ができる手段 劣化しない情報を伝えられる 2 電子メールとは • インターネット経由でメッセージをやり取り する手段 • メールアドレスを宛先としてメッセージをや り取り • 1対多の通信を行える • データなので情報が劣化しない 3 電子メールの構成要素 • アプリケーション – MUA(Mail User Agent) – MTA(Mail Transfer Agent) – MDA(Mail Delivery Agent) • プロトコル – SMTP(Simple Mail Transfer Protocol) – POP(Post Office Protocol) – IMAP(Internet Message Access Protocol) • 非テキストのドキュメントを送信する仕組み – MIME(Multipurpose Internet Mail Extensions) 4 MUA (Mail User Agent) • 電子メールの作成・編集や受信したメールを見るため のソフトウェア • メーラやメールクライアント、メールソフトとも呼ばれる • 一台のコンピュータで複数のMUAを使用することが可 能 • MUAで作成したメールはMTAを用いて宛先へ送信 • MUAの例 – UNIXのmailコマンド – MicrosoftのOutlook Express – フリーソフトのthunderbird 5 MTA(Mail Transport Agent) • ネットワーク上にある他のメールサーバに対してメ ールの転送を行うソフトウェア • SMTPでメールを受信した場合はメールスプールへメ ールを保存 • SMTPでメールを送信する場合はDNSのMXレコード を使って転送先IPアドレスを判定 – 一台のメールサーバに一つのMTA • MTAの例 – Sendmail – qmail 6 – postfix MDA(Mail Delivery Agent) • MTAが受信側のメールスプールにメッセージ を書き込むためのプログラム • メールスプールに記憶されたメールはPOPに よってMUAに取り出される • POPを用いて受信者のMUAへメールを送信 • MDAの例 – qpopper – Maildrop – Dovecot 7 SMTP(Simple Mail Transfer Protocol) • メッセージを送信するためのプロトコル • メーラあるいはメールサーバが別のメールサ ーバにメールを送るプロトコル • MTA • TCPのポート番号25番 • ソフトウェア – sendmail、Postfix、qmailなど 8 SMTPのコマンド コマンド 引数 説明 HELO ドメイン名 サーバにクライアントを通知する MAIL 自分のメール 送信者の指定 アドレス RCPT 受信者のメー 受信者の指定 ルアドレス DATA なし サーバにメッセージを送信する QUIT なし セッションを終了する 9 POP(Post Official Protocol) • • • • • メッセージを取得するためのプロトコル サーバから電子メールを取得するためのプロトコル TCPのポート番号110番 ほとんどの処理をクライアント側で行う ソフトウェア – qpopper、Maildrop、Dovecotなど • コマンドでPOPサーバと対話可能 10 POPのコマンド コマンド STAT LIST RETR QUIT 引数 説明 なし メールメッセージの数とサイズを 要求する メッセージ番号 メールメッセージ番号とそれぞれ のサイズを要求する メッセージ番号 指定されたメッセージ番号のメッ セージ全体を表示する なし サーバに対し、クライアントが セッションを閉じることを通知 11 IMAP (Internet Message Access Protocol) • • • • メッセージを取得するためのプロトコル POPサーバの後継として開発 ほとんどの処理をサーバ側で行う ソフトウェア – Courier-IMAP、Cyrus IMAP、UW IMAP Serverなど • TCPのポート番号143番 12 メールの構成 • ヘッダと本文で構成される • ヘッダと本文の間には1行の空白を入れ る ヘッダ Return-Path: <エラーメールの送信先メールアドレス> From: <送信者のメールアドレス> To: <受信者のメールアドレス> Data: <送信日> Subject: <件名> .... 空白 本文 massage .... 13 MIME(Multipurpose Internet Mail Extensions) • MUAで転送できるデータの種類について拡 張を行うプロトコル • MIMEの手順 (1)ASCIIコード以外で書かれた文書や、テキスト以 外のデータを7ビットASCIIコードに変換 (2)メールのヘッダ部分でデータの文字コードやフ ァイルのデータ型を指定 (3)MUAで変換後メールを送信し、受信者側で元 のデータに復元 14 MIMEヘッダ MIME-Version: <MIMEのバージョン> どのバージョンで処理されているかを表す Content-type: <データ型>; <文字コード> どのデータ型や文字コードで構成されているかを表す Content-transfer-encodeing: <エンコードの方法> エンコードに用いられた方法を表す Content-ID: <ID> データが一意であることを表す Content-Description: <注釈文> 本文の内容に対する注釈 15 メールアドレスとは • 宛先のコンピュータの住所を示す ユーザ名 @ ドメイン名 個人を識別 国や組織を識別 例)[email protected] • ドメイン名に対応するホスト名をDNSのMXレ コードで定義 example.ac.jp IN MX 10 server.example.ac.jp ドメイン名 優先順位 ホスト名 一つのドメイン名に対して、複数のホスト名を指定可 DNSによる名前解決 • MXレコードで定義されているホスト名を使って、ローカ ルネームサーバに対応するIPアドレスの問い合わせ を行う • ホスト名が定義されていない場合は、ドメイン名をホス ト名としてIPアドレスの問い合わせを行う server.example.ac.jp ホスト名 ドメイン名 • ホスト名に対応するIPアドレスが見つからなければ宛 先不明エラーとして処理 • ローカルネームサーバが知らないIPアドレスであった 場合には、ルートネームサーバへ問い合わせを行う 電子メールのメッセージ配信の例 送信者のPC MUA 電子メール サーバ 受信者のPC インターネット MUA SMTP MTA ドメイン メッセージ 電子メールサーバ DNSサーバ アドレス 名前解決 MTA SMTP MDA POP/IMAP メッセージ ストア 18 メーリングリストの開発動機 電子メールのグループ送信 (グループ送信・・・複数の宛先をグループとし、一度に送信) • 全メンバのアドレスが必要 • 全メンバがアドレス帳を更新する必要 メーリングリスト • 全メンバのアドレスを把握していなくてもグループ送信可能 • アドレス帳を更新する必要がない 19 メーリングリスト(ML)とは • 1つのメッセージを1つのアドレス(リストアドレ ス)に送信するだけで、そのメッセージがグ ループ内の全てのメンバに配送されるメー ルアドレスのグループ • メーリングリスト管理ソフトウェアにより、開 設と管理を行う 20 送信者のメール ボックス 送信者 (2) (1) ローカルの受信者の メールボックス リストアドレス (2) (2) 受信者 受信者のメールボックス 受信者 受信者のメールボックス 21 デメリットと改善策 • 気軽に投稿できることによる論争等の問題 – メーリングリストのポリシーをうまく設定する • 宛先が分からず、送信するメッセージが限定 – 用途に応じたメーリングリストの利用 22 メーリングリスト管理ソフトウェア(MLM)とは • 登録管理処理を自動化するソフトウェア • リストアドレスと、MLへの登録および登録削 除要求のためのアドレスを持つ MLに登録 登録要求 登録希望者 登録管理 アドレス MLから削除 登録削除希望者 登録削除要求 23 Majordomoとは • ユーザがメールで簡単なリクエストを送るだ けでヘルプ、リストの説明を入手できる • Brent Chapman氏によりperl言語を用いて記 述された 24 その他のML管理ソフトウェア • fml – 深町兼一氏により作られたML管理ソフト – 言語としてPerlが採用されているため、ほとんど のPerlの環境で動作 • Listproc – 投稿量が多い大規模なリストに適している 25 今回の課題 • メール環境の実装 – Postfixのインストールを行い、MTAを構築する – Qpopperのインストールを行い、POPサーバを構 築する – メンバー間でメールの交換を行い、問題なくメー ルが配送されている事を確認する 26 参考文献 • [1]Alan Schwarz 著,三代川信義 監訳,田和勝 訳,「メーリングリストシステ ム管理」,(株式会社オライリー・ジャパン 1998) • [2]山口和紀 監修 ,中村敦司 著,「新 The UNIX Super Text 上・下 改訂増補 版」(技術評論社 2003) • [3]Bryan Costales 著, 中村素典 監訳, 鈴木克彦 訳,「sendmail システム管 理」, (株式会社オライリー・ジャパン 1997) • [4] David wood著 大川 佳織訳,「電子メールプロトコル」,(株式会社オラ イリー・ジャパン 2000) • [5] Kyle D.Dent著 菅野 良二訳,「Postfix実用ガイド」,(株式会社オライ リー・ジャパン 2004) • [6] 亀田久和著,「SENDMAIL」,(秀和システム 1998) • [7] 榊正憲著,「電子メールシステムとsendmail」,(株式会社アスキー 2003) 27