[NI-Lab.]
今夜わかるメールプロトコル
- インターネットのメールプロトコルについての入門書&リファレンスとして良書。
- 今夜わかるメールプロトコル SMTP/POP3/IMAP4
- 今夜わかるメールプロトコル:SEshop.com/商品詳細
- http://www.seshop.com/detail.asp?pid=6075&mode=spec
- >目次
- >
- >第1章 メールプロトコルを知るための準備
- >
- >1.1 メールはSMTPで送ってPOP/IMAPで取りに行く
- >1.2 メール世界の登場人物
- > 1.2.1 MUA(Mail User Agent)
- > 1.2.2 MTA(Mail Transfer Agent)
- > 1.2.3 MDA(Mail Delivery Agent)
- > 1.2.4 メールボックス(Mailbox)
- > 1.2.5 MRA(Mail Retrieval Agent)
- >1.3 メールを送信してから受信するまで
- >1.4 ネットワークの基本はTCP/IP
- > 1.4.1 TCP/IPはプロトコル群
- > 1.4.2 階層で管理するTCP/IP
- >1.5 メールプロトコルと関係深いプロトコル・IP・TCP・DNS
- > 1.5.1 配送を担当するIP
- > 1.5.2 信頼性を担当するTCP
- > 1.5.3 名前解決を担当するDNS
- >1.6 メールプロトコルとDNSの関係
- >1.7 メールアドレスはメールボックスを指定する
- >
- >第2章 メッセージ形式を知ればメールのすべてがわかる
- >
- >2.1 メールメッセージの構成
- > 2.1.1 メールの文章にはルールがある
- > 2.1.2 メールメッセージはヘッダーとボディに分かれている
- > 2.1.3 文字コードとは文字に番号を付けたもの
- > 2.1.4 メールメッセージの基本はASCIIコードのテキスト形式
- >2.2 日本語メールの処理は難しい
- > 2.2.1 日本語の多様な文字コード
- > 2.2.2 ボディ部分はISO-2022-JPを使って送る
- > 2.2.3 ヘッダー部分はMIMEで変換して送る
- >2.3 メールメッセージの立役者はMIME
- > 2.3.1 MIME(Multipurpose Internet Mail Extensions)とは
- > 2.3.2 MIMEを使うには
- > 2.3.3 ボディ部分のデータの種類を示す
- > 2.3.4 ボディ部分のエンコード方式を指定する
- > 2.3.5 ヘッダー部分のエンコード方式
- >2.4 マルチパート
- > 2.4.1 マルチパートメールの仕組み
- > 2.4.2 マルチパートの区切りはバウンダリー
- > 2.4.3 パートの情報はパートヘッダーが持つ
- > 2.4.4 添付ファイル名の日本語の問題
- >2.5 ヘッダーフィールドを読もう
- > 2.5.1 Date-Timeの記述
- > 2.5.2 日時フィールド
- > 2.5.3 差出人フィールド
- > 2.5.4 宛名フィールド
- > 2.5.5 識別フィールド
- > 2.5.6 情報フィールド
- > 2.5.7 再送フィールド
- > 2.5.8 トレースフィールド
- > 2.5.9 MIMEのためのヘッダーフィールド
- > 2.5.10 その他よく見かけるヘッダーフィールド
- >
- >第3章 メール配送の中心を担うSMTP
- >
- >3.1 SMTPでなぜメールが届くのか
- > 3.1.1 SMTPはクライアントとサーバーで通信を行なう
- > 3.1.2 メッセージはエンベロープで送る
- > 3.1.3 SMTPはこうして手続きをする
- > 3.1.4 SMTPの仕事とは配送と中継と転送
- > 3.1.5 手動でメール送信をする方法
- > 3.1.6 メールが確実に届くためには努力が必要
- >3.2 SMTPコマンド
- > 3.2.1 SMTPコマンドで命令を伝える
- > 3.2.2 Extended HELLO(EHLO)・HELLO(HELO)
- > 3.2.3 MAIL(MAIL)
- > 3.2.4 RECIPIENT(RCPT)
- > 3.2.5 DATA(DATA)
- > 3.2.6 RESET(RSET)
- > 3.2.7 VERIFY(VRFY)
- > 3.2.8 EXPAND(EXPN)
- > 3.2.9 HELP(HELP)
- > 3.2.10 NOOP(NOOP)
- > 3.2.11 QUIT(QUIT)
- > 3.2.12 SEND(SEND)
- > 3.2.13 SEND OR MAIL(SOML)
- > 3.2.14 SEND AND MAIL(SAML)
- > 3.2.15 TURN(TURN)
- > 3.2.16 プライベート拡張コマンド(X)
- >3.3 SMTP応答コード
- > 3.3.1 応答コードは状態の伝える
- > 3.3.2 応答コードの体系
- > 3.3.3 応答コード一覧
- >3.4 SMTPを拡張したESMTP
- > 3.4.1 拡張し続けるSMTP
- > 3.4.2 ESMTPではない基本部分のSMTP
- >3.5 ESMTPコマンド
- > 3.5.1 8ビットMIME転送―8BITMIME
- > 3.5.2 SMTP認証―AUTH
- > 3.5.3 バイナリ-MIMEメッセージの転送―BINARYMIME
- > 3.5.4 CHUNKとしてデータを転送―BDAT
- > 3.5.5 制限時間付き配送―DELIVERBY
- > 3.5.6 配送状況に関しての通知―DSN
- > 3.5.7 リモートメッセージキューの処理開始―ETRN
- > 3.5.8 認証付きTURN―ATRN
- > 3.5.9 コマンドのパイプライン処理―PIPELINING
- > 3.5.10 メッセージサイズの宣言―SIZE
- > 3.5.11 TLSによるセッションの暗号化―STARTTLS
- > 3.5.12 ローカルなメール配送プロトコル(LMTP)―LHLO
- > 3.5.13 拡張ステータスコード
- >
- >第4章 メールを取り込むPOP
- >
- >4.1 POPでどのようにしてメールを取り込むか
- > 4.1.1 POPの役目はメールボックスからメールを取り込むこと
- > 4.1.2 POPが必要ない時代もあった
- > 4.1.3 POPはクライアントとサーバーで通信を行なう
- > 4.1.4 POPはこうして手続きをする
- > 4.1.5 POP3の認証方法
- > 4.1.6 メールクライアントソフトに置けるUIDLの活用
- >4.2 POP3コマンドと応答
- > 4.2.1 POP3コマンドで命令を伝える
- > 4.2.2 POP3からの応答
- > 4.2.3 メールボックスに関する情報取得―STAT
- > 4.2.4 メッセージに関する情報取得―LIST
- > 4.2.5 メッセージの取得―RTER
- > 4.2.6 メッセージに消去マークを付加―DELE
- > 4.2.7 何もしない―NOOP
- > 4.2.8 消去マークの解除―RSET
- > 4.2.9 メッセージボディを指定行数取得―TOP
- > 4.2.10 一意な識別子のリストアップ―UIDL
- > 4.2.11 認証ユーザー名の指定―USER
- > 4.2.12 認証パスワードの指定―PASS
- > 4.2.13 APOP認証―APOP
- >4.3 POP3における拡張コマンド
- > 4.3.1 拡張コマンド―XTND
- > 4.3.2 認証機構の利用―AUTH
- > 4.3.3 TLSプロトコルの利用―STLS
- > 4.3.4 拡張機能のリストアップ―CAPA
- > 4.3.5 RFC2449拡張サービス
- >
- >第5章 サーバーでメールを管理するIMAP4
- >
- >5.1 IMAPの考え方
- > 5.1.1 POPの苦手
- > 5.1.2 IMAPはメールボックスを管理する
- > 5.1.3 IMAP4の基本的な機能
- >5.2 IMAPプロトコルの基本
- > 5.2.1 IMAP4やりとりは複雑
- > 5.2.2 IMAPコマンドと応答のフォーマット
- > 5.2.3 応答はステータスでコマンド実行の成否を知る
- > 5.2.4 クライアントに指示を使える応答コマンド
- > 5.2.5 メールメッセージ・メールボックスの識別子
- > 5.2.6 メールメッセージの状態管理をするメッセージフラグ
- >5.3 IMAP4コマンド
- > 5.3.1 多重保留コマンドの注意
- > 5.3.2 セッション状態の遷移
- > 5.3.3 IMAP4コマンド
- >5.4 IMAP4拡張
- > 5.4.1 ACL拡張
- > 5.4.2 QUOTA拡張
- > 5.4.3 IDLEコマンド
- > 5.4.4 メールボックス回送
- > 5.4.5 名前空間
- > 5.4.6 STARTTLSコマンド
- >
- >第6章 メールを安全にするためのセキュリティ
- >
- >6.1 メールのセキュリティについて
- >6.2 メールプロトコルのセキュリティ
- > 6.2.1 SASLによる認証機構の追加
- > 6.2.2 SASL利用の基本的な流れ
- > 6.2.3 SASLで利用可能な認証機構
- > 6.2.4 TLSによる通信の暗号化
- > 6.2.5 メールプロトコルでのTLS利用
- > 6.2.6 SASLとTLSの関係
- > 6.2.7 プロトコルでの暗号化とメッセージの暗号化
- >6.3 メールメッセージのセキュリティ
- > 6.3.1 Security Multipart
- > 6.3.2 S/MIME
- > 6.3.3 PGP
- >6.4 SMTP運用のためのセキュリティ
- > 6.4.1 POP before SMTP
- > 6.4.2 Message Submission
- > 6.4.3 不正中継可能かどうかをチェック!
- >
- >付録 メール関連RFC一覧