電子メールプロトコル

―基本・実装・運用

[cover photo]
TOPICS
Web , System/Network , Linux
発行年月日
PRINT LENGTH
432
ISBN
4-87311-028-9
原書
Programming Internet Email
FORMAT

インターネットの成長とともにさまざまな通信形態が生まれていますが、その中でも電子メールはインターネットの黎明期以来重要な通信手段として利用されてきました。本書は、各種電子メールソフトウェアの実装やメールサーバの管理を手がける人たちのために書かれた解説書です。POPやSMTP、ESMTP、IMAPなどの電子メール配送に関係するプロトコルを章別にとりあげており、各プロトコルの機能を電子メール配送の仕組みの中で把握し、コマンドの細部を確認することができます。また、PerlモジュールやJavaMail APIなどもリファレンス形式で解説しており、メールソフトウェア開発の場でも活用できる内容です。日本語版では、メールヘッダやメールボックス名、添付ファイル名などに用いられる日本語文字列の扱いや、原書発行以降の情報、実装上の注意点などを加筆し、有用性を高めました。

関連ファイル

目次

監訳者まえがき
まえがき

1章 インターネット上の電子メール
        1.1 電子メールシステム
                1.1.1 インターネットの電子メール
                1.1.2 X.400電子メール
                1.1.3 ベンダ独自仕様の電子メールシステム
        1.2 インターネットメールの標準
        1.3 電子メールを扱うためのツール
        1.4 インターネットの基本的な電子メールシステム
                1.4.1 SMTPを利用しないメールシステムへのゲートウェイ
                1.4.2 MUAからのメール送信
                1.4.3 MTAによるメール転送
                1.4.4 MDAによるメール配送
                1.4.5 MRAによるメールの取得
                1.4.6 MUAによるメールの受信

2章 単純なテキストメッセージ
        2.1 インターネットテキストメッセージ
        2.2 グローバルな設計とローカルな運用
        2.3 ヘッダ
                2.3.1 ヘッダに関する一般的な注意事項
                2.3.2 必須ヘッダ
                2.3.3 オプションヘッダ
                2.3.4 動的なヘッダ
                2.3.5 ユーザ定義ヘッダ
                2.3.6 アドレスのフォーマット

3章 MIME
        3.1 MIMEの起こり
        3.2 MIMEヘッダフィールド
        3.3 MIMEエンコード
                3.3.1 7ビット、8ビット、バイナリ
                3.3.2 quoted-printable
                3.3.3 base64
        3.4 MIMEバウンダリ
        3.5 MIMEのまとめ
                3.5.1 エンコードのまとめ

4章 MIMEメッセージの作成
        4.1 最小限のMIMEメッセージ
        4.2 マルチパートメッセージ
        4.3 本文パートのネスティング
        4.4 特殊なMIMEタイプ
                4.4.1 message/external-bodyタイプ
                4.4.2 message/partialタイプ
                4.4.3 multipart/alternativeタイプ
        4.5 MIMEメッセージの作成の注意事項

5章 OpenPGPとS/MIME
        5.1 セキュリティ概念のごく簡単な紹介
        5.2 OpenPGPとS/MIMEの概要
        5.3 セキュリティとMIMEの結合
                5.3.1 multipart/signed MIMEタイプ
                5.3.2 multipart/encrypted MIMEタイプ
        5.4 OpenPGPのフォーマット
        5.5 S/MIMEのフォーマット

6章 vCard
        6.1 vCardを使った個人データの交換
        6.2 vCard バージョン3.0の概要
                6.2.1 バージョン3.0の管理用タイプ
                6.2.2 バージョン3.0の身元情報タイプ
        6.3 vCard バージョン2.1の概要
        6.4 vCardを電子メールメッセージに添付する方法

7章 メールボックス形式
        7.1 mbox
                7.1.1 mboxの変種
                7.1.2 IMAP用のmboxの変種
        7.2 MH
        7.3 Maildir

8章 mailcapファイル
        8.1 mailcapファイルのフォーマット
        8.2 Unixオペレーティングシステムでの実装
        8.3 Unix以外のオペレーティングシステムでの実装

9章 ESMTP
        9.1 ESMTPの概要
        9.2 ESMTPのコマンド
                9.2.1 メールトランザクションコマンド
        9.3 ESMTPのセッション
10章 POP
        10.1 POPの概要
                10.1.1 POPとIMAPの比較
        10.2 POPのコマンド
        10.2.1 認証ステート
                10.2.1.1 ユーザ名/パスワードによる認証
                10.2.1.2 APOP認証
                10.2.1.3 AUTHによる認証
        10.2.2 トランザクションステート
        10.2.3 更新ステート
        10.3 POPのセッション

11章 IMAP
        11.1 IMAPの概要
        11.2 IMAPのコマンド
                11.2.1 未認証ステート
                11.2.2 認証済みステート
                11.2.3 選択済みステート
        11.3 IMAPのセッション

12章 ACAP
        12.1 ACAPの概要
                12.1.1 ACAPのデータセット
                12.1.2 アクセス制御
                12.1.3 データセットの例
        12.2 ACAPのコマンド
                12.2.1 未認証ステート
                12.2.2 認証済みステート
        12.3 ACAPのセッション

13章 電子メール関係のPerlモジュール
        13.1 Perlモジュールのダウンロードとインストール
        13.2 メール関係モジュールの完成度
                13.2.1 開発への貢献
        13.3 電子メール関係モジュールのクイックリファレンス
                13.3.1 エントリの読み方
                13.3.2 MIME-Base64
                13.3.3 MIME-Lite
                13.3.4 MIME-tools
                13.3.5 MailCclient
                13.3.6 MailFolder
                13.3.7 MailTools
                13.3.8 libnet
                13.3.9 POP3Client

14章 JavaMail API
        14.1 JavaMail APIの概要
        14.2 JavaMail APIリファレンス
                14.2.1 エントリの読み方
                14.2.2 javax.mailパッケージ
                14.2.3 javax.mail.internetパッケージ
                14.2.4 javax.mail.searchパッケージ
                14.2.5 javax.mail.eventパッケージ

15章 マルチパートメッセージの作成と送信
        15.1 MIME対応の/bin/mail互換ユーティリティの設計
        15.2 mail.plの作成
        15.3 mail.plの拡張と機能強化
        15.4 JavaでMIME対応の電子メールを送信する

16章 メールボックスの管理
        16.1 不要なMIME添付の削除
        16.2 mboxscrub.plの作成
        16.3 mboxscrub.plの拡張と機能強化

17章 IMAPメールボックスの監視
        17.1 JBiffの設計
        17.2 JBiffの作成
        17.3 JBiffの拡張

18章 スパム防止のテクニック
        18.1 UCE問題
        18.2 受信者の対策
                18.2.1 送られてくるメッセージのフィルタリング
                18.2.2 報復
        18.3 ISPの対策
                18.3.1 MTAによる規制
                18.3.2 契約による規制
        18.4 法的な対策

19章 将来の電子メール
        19.1 MUAの動向
        19.2 Webメールの動向
        19.3 ファイアウォールの内側の動向

付録A 電子メール関係のインターネットRFC
付録B MIMEメディアタイプ
付録C ASCII
付録D 電子メール関係のURL
用語集

索 引

図版目次
図1-1    単純化したインターネットメールシステム
図1-2    ゲートウェイによるSMTPを利用しないメールシステムとの相互運用
図1-3    ローカルMDAによるメール配送
図1-4    メールボックスへのアクセス
図1-5    LANに電子メールを配送するための転送MUA
 
図3-1    base64アルゴリズムによるオクテットストリームの処理
図3-2    画像の例
 
図9-1    エンベロープとメッセージ
図9-2    ESMTPセッションの例
図9-3    古いサーバによるSMTPセッションの例
 
図10-1   ダイアルインホストでのPOPの使用
図10-2   LAN型ダイアルアップでのPOPの使用
図10-3   POP3セッションの例
 
図11-1   モバイルユーザ向けのIMAPの使用例
図11-2   MAPセッションの例
 
図12-1   モバイルユーザ向けのACAP使用例
図12-2   ACAPのデータ階層
図12-3   ACAPセッションの例
 
図17-1   JBiffのユーザインタフェース