メールが確実に相手に届くってホントはとても大変なこと。インターネットでもっとも使われているアプリケーションは電子メール!それを支えているメールプロトコルを今夜わかるまで眠らせない!
インターネット上でもっとも使われているアプリケーションである電子メールを支えているメールプロトコルの理解に主眼を置いた内容です。メールの仕組みやメールメッセージの構造と、メールプロトコル自体をわかりやすく紹介し、メールプロトコル理解のための入門書としての利用から、理解後のリファレンスとしての利用まで使い続けられる一冊にしています。国内にわかりやすいメールの技術関連の入門書がこれまでになかったので書き下ろした一冊です。
【目次】
第1章 メールプロトコルを知るための準備
第2章 メッセージ形式を知ればメールのすべてがわかる
第3章 メール配送の中心を担うSMTP
第4章 メールを取り込むPOP
第5章 サーバーでメールを管理するIMAP4
第6章 メールを安全にするためのセキュリティ
→ 詳細な目次はコチラ
【修正・コメントなど】
Webで(勝手に)見かけた本書に対する指摘などに対しての修正・コメントです。ご報告頂いた 読者の皆様、wakatono様、leafel様、小島先生、□ぃくま様、kidmin様 ありがとうございます。
- P43:「UTF (UCS Transformation Format)は、その名の通りUCSをうまく使えるように制定された変換ルールです。」
文中では「変換ルール規則を決めた文字コードです。」とありますが、文字コードではなく変換ルールが正しいです。
P43~P44:「文字コードは常に○○ビットで表されます」
この表現の使用は微妙だったかもしれません。。
実際は、
一文字を表記するために必要なビット数については、以下のようになります。
・
UCS-32以外:一文字を表すために必要なビット数は、文字によって変わる
・
UCS-16:サロゲートペアを使わない限りは1文字16ビット
・
UTF-8とUTF-7:US-ASCIIな文字以外は可変長
- P190,191,195,199,311:「RETR」
RTER(誤)→RETR(正)です。さすがにコマンド実行結果(キャプチャなので)は合っていますが、見出しからして間違えています。
- P43:USC-2とUSC-4(すでにタイトル間違えてます)
USC(誤)→UCS(正)です。
UCS-2とUCS-4
一方、ISOは32ビットの文字コードを開発していました。しかし、Unicodeと目的が同じなのでUnicodeコンソーシアムと調整することで、UCS(Universal Multiple-Octet Coded Character Set:国際符号化文字集合)の一部にUnicodeを取り入れることで制定されました。
UCSには2通りあり、UCS-2とUCS-4があります。UCS-2は1文字を2バイトで表すもので、Unicodeとほぼ同様のものです。UCS-4は1文字を4バイトで表現するものです。
- P29,P30,P65,P68,P99,P114,P140,P176,P190,P228:CR(0x0d)+LF(0x0a)
10進数と16進数がごっちゃになっています。
同様の表記があるHTTP本ではちゃんと書いている様子。
(誤)CR(0x13)+LF(0x10)
(正)CR(0x0d)+LF(0x0a)、もしくはCR(13)+LF(10)
- P56: タブ(0x08) → タブ(0x09)
(誤)タブ(0x08) やスペース(0x20)はそのまま記述します。ただし、上述の”=”による改行の後に出現した場合には、"=08"と"=20"のように記します。
(正)タブ(0x09) やスペース(0x20)はそのまま記述します。ただし、上述の”=”による改行の後に出現した場合には、"=09"と"=20"のように記します。
- P185,P186: MD5ダイジェスト(c8f49729aca0f6daa5e8ba03bd3bdd74)
MD5ダイジェストが間違えています。執筆時に計算を誤ったようです。(echoのオプションに-nを付けなかったため改行コードが入ってしまったようです。)
(誤)c8f49729aca0f6daa5e8ba03bd3bdd74
(正)9337a47e9faf421dda989d960415692f
計算方法例:
$ echo -n '<26786.1234567890@angora.usagidesign.jp>hogehoge' | /usr/bin/md5sum