1 電子メール 計算機ネットワーク 2 電子メール TCP/IP上でのメッセージ送受信 TCP/IP初期から存在 即時性 メッセージ (Message) 電話・チャット テキストデータ(ASCII)を想定 → それ以外はファイル転送 FAX, メール 相手の存在 ⇒ 不必要,確認不可 受信側 ⇒ 必要な場合に受信 メールアドレスのみで誰でも送信可能 MIME拡張 バイナリデータ,複数ファイル 手紙, 小包 3 メールアドレス [email protected] ユーザ名 メールドメイン メールドメイン DNS MX レコードに記載 maildomainの maindomain. MXレコード メールドメイン 複数ホストOK IN MX 10 mailhost. 優先順位 そのドメインのメールサーバ名 (小さい値が優先) mailhost の IP アドレスを DNS (Aレコード)で参照し通信(SMTP) mailhostの Aレコード mailhost. IN A 123.213.132.231 4 サービスの概要 メッセージ スプール メールサーバ メールサーバ MDA SMTP メッセージ SMTP MTA Mail Transfer Agent MUA Mail User Agent MTA Mail Delivery Agent POP IMAP MUA Mail User Agent 5 メールサーバの基本構造 MTA (Mail Transfer Agent) MTA リモートメール MTA リモートメール MTA メールサーバ MUA ローカルユーザ ローカルメール MDA キュー (queue) /var/spool/mqueue etc. queue 確認コマンドで確認 スプール (spool) OS上のディレクトリ /var/spool/mail/ユーザ名 /var/mail/ユーザ名 mbox 形式 ファイル Maildir 形式 メッセージ が格納 6 メールサーバのリレー動作 TCP or UUCP etc. バケツリレー型 メールサーバ メールサーバ メールサーバ 送信元 直接接続型 リレー(中継) 宛先 メールサーバ 送信元 TCP/IP ネットワーク リレー: 他のサーバを発信元,他のサーバ を宛先とするメッセージの転送 リレー⇒制限 メールサーバ 宛先 メールサーバ 宛先 組織内MUAからのSMTP接続もリレー 7 MTAの役割 SMTPでメールを受信 自サーバ宛(ローカル宛) ? Yes ⇒ メールスプール へ書き込み No ⇒ 他サーバへ メール転送 1. 2. 転送先の決定 DNSのMXレコード 設定ファイルで転送先を決定 SMTPで送信 主なMTA : sendmail, qmail, postfix 8 SMTP Simple Mail Transfer Protocol 電子メールのメッセージ転送手順 宛先ポート:TCP 25 RFC821 (1982) ⇒ RFC 5321 (2008) 9 SMTPの手順 MTA → MTA コマンド:4文字 HELO(EHLO), MAIL, RCPT, DATA, QUIT EXPN, VRFY テキストデータ (7bit ASCII) 受信側:Reply Code、エラーメッセー ジなどを含む応答 例: 550 mailbox not found relay denied, mailbox full 10 SMTP標準的手順 1. 2. 3. 4. HELO(EHLO) 送信元MTAのホスト名 MAIL FROM:[email protected] RCPT TO:[email protected] DATA 5. 1行目 2行目 メールメッセージ(MUAまで配送) . (ピリオド=データ終端) telnet mailhost 25 QUIT 受信MTA:Queue へ格納 転送処理:別MTA or MDAへ渡す HELO 自ホスト 250 ok : : 11 エイリアス メールアドレスの別名 メールアドレス単位の配送制御 /etc/aliases (sendmail, postfix) 実際の参照はDB形式 ⇒ newaliasesで作成 名前(@の左部) : 別名, 転送先メールアドレス ( “,” で区切って複数アドレスを記載可 ⇒ 簡易ML) “| command” でコマンドへ渡すことも可(フィルタ等) “:include: filename” ファイルから読み出すことも可 例: yoshida: 1110111, [email protected] nomi: a-san@doko, b-san@soko, [email protected] 12 MDA (Mail Delivery Agent) メール配送エージェント メールスプールへ配送 /var/mail/user への書き込み ユーザホームディレクトリ ホームディレクトリ以下へ配送するMDAも mail.local .forward が存在 転送設定 ⇒ MTAへ転送 リモートMUAへの送信 POP : Post Office Protocol IMAP: Internet Message Access Protocol 13 SMTPサーバの中継 送信元・受信先が直接通信とは限らない 第三者が中継する場合もあり リレー(Relay) 旧来はデフォルトで世界中から中継してい た オープンリレー SPAMや匿名メール(anonymous) 14 メールのデータ DATAの次の行から書き込み 7bitデータ(ASCIIデータ) .→.. 内容は何でも良い 共通フォーマットが必要 RFC822(2822)で規定 15 メールデータの構造 RFC-5322 (RFC-822⇒2822から改定) ヘッダと本文(body) ヘッダ名: 値(フィールド) From, Cc, To, Received 空行 本文 Received: from …. by …. with SMTP for who To: [email protected] From: [email protected] Subject: Good Morning Date: Tue, 17 May 2011 08:25:44 +0900 (JST) 空行 こんにちは 元気ですか 16 ヘッダ To, Cc, Bcc From, Sender, Return-Path, Reply-To Resent-From, Resent-To Date Subject Message-ID, In-Reply-To, References Received, Delivered-To 17 MIME バイナリ・ファイルを送る uuencode uuencodeコマンドとuudecodeコマンド MIME Multipurpose Internet Mail Extension バイナリを送る (BASE64, quoted-printable) 複数データ(マルチパート) 画像,音声,マルチメディア,プログラム 添付ファイル データ情報 (content-type, charset,...) 文字コード,ファイル名,中身の情報 MIME-Version: 1.0 Sender: [email protected] Received: by 10.220.153.68 with HTTP; Thu, 24 May 2012 19:55:45 -0700 (PDT) Date: Fri, 25 May 2012 11:55:45 +0900 Message-ID: <CABWdx2HjDvs5zY4mozLbeG15YkDBAENcm7NeS1i1uymFQVUVPw@mail.gmail.com> Subject: Eclipse From: Shinichi YOSHIDA <[email protected]> To: [email protected] Content-Type: multipart/mixed; boundary=20cf3079bfaa43fef704c0d381c9 --20cf3079bfaa43fef704c0d381c9 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit 研究室の皆様 吉田です. 日食の続報です. -高知工科大学情報学群 吉田真一 --20cf3079bfaa43fef704c0d381c9 Content-Type: image/jpeg; name="g001.jpg" Content-Disposition: attachment; filename="g001.jpg" Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAgEASABIAAD/7RTMUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AgBIAAAAAQACOEJJTQQNAAAAAAAEAAAAeDhCSU0D8wAAAAAACAAAAAAAAAAAOEJJTQQKAAA 18 19 20 POP, IMAP ローカルMUA MTAサーバ上 mail コマンド、スプールファイルからコピー リモートMUA クライアント端末へダウンロード Post Office Protocol (POP) POP3 TCP 110 (pop over ssl:995) Internet Message Access Protocol (IMAP) IMAP4 TCP 143 (imap over ssl:993) 21 POP・IMAP MUA メッセージ保存場所 POP ⇒ クライアント端末 ダウンロード後は,スプールから消去 IMAP ⇒ IMAPサーバ クライアント端末にはキャッシュが存在 Web メール MUA プログラムの Web アプリケーション Gmail, Hotmail, Yahoo! Mail, etc. Saas (Software as a service), クラウド サーバ内で内部的に POP or IMAP 22 迷惑メール対策 UBE, UCE Unsolicited Commercial Email Unsolicited Bulk Email Outbound 25 blocking Inbound 25 blocking SPAM防止 DNSへのSPF(Sender Policy Framework) Sender ID Domainkeys 23 まとめ MTA, MDA, MUS MTA 送信,受信,中継 Protocol リモート,ローカル SMTP, POP, IMAP メッセージ RFC5322, MIME 24 その他の補足 mbox 形式 25 メール保存形式 mbox 形式 メールスプール形式 1つのファイルに全てのメールを保存 空行 From [email protected] Mon May 11 11:15:10 2009 Received: ... Received: ... Received: ... From: 空行+次行が ”From …日時“の形 ⇒ メールの区切り body... >From [email protected] Mon May 11 11:15:10 2009 空行 From [email protected] Mon May 11 14:11:30 2009 ... 26 mbox の問題点 書き出し,読み出しを同時行う場合の 安全性 ⇒ ファイルロック問題 メールロスト ファイル破壊 メールの一部破損 27 mbox 形式 vs. Maildir形式 Maildir 形式 qmail で用いられるスプール形式 1メール1ファイル ファイル名:時刻をコード化した形式 tmp, new, cur の3ディレクトリを活用 28 SMTPの拡張 送信サーバとして使う SMTP Auth = 認証 Submission Port 587 暗号化 starttls, 465
© Copyright 2024 Paperzz