| >> 記事トピックス一覧 |
[IP Network Skill - No.0297 -] メール(IMAPその2)
発行日: 2007/2/2‥‥……━━━━━━ IP Network Skill No. 00000297 ━━━━━━……‥‥
〜 メール (IMAPその2) 〜
‥‥……━━━━━━━━━━━━━━━━━━━━━━━━━━━━……‥‥
【まえがき】
来週、2月7日(水)から9日(金)まで、東京ビッグサイトで
NET&COMというイベントが開催されます。
http://itpro.nikkeibp.co.jp/netcom/index.html
オフィシャルWebサイトによると、今回の見所は「仮想化を見て
体感できる3日間〜計150以上の展示・講演が目白押し」、
「統合化が進むセキュリティ製品〜内部統制対応が訴求ポイントに」、
「NGNホットステージをプレビュー〜マルチプレーヤのネット・ゲー
ムやFMCなどのアプリを会場で体験できる」、「普及期に入る仮想化
ソフト〜NET&COM2007で性能と安定性の向上を実証」、「ウェブ2.0で
「顧客中心」から「人間中心」の時代へ」というものだそうです。
200社近くのネットワーク、情報通信関連企業が出展します。
この分野では結構大きい展示会だと思いますので、お時間のある方は
足を運んでみてはいかがでしょうか?
╋━━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━━━━━━━━━━……‥‥
┃本┃日┃の┃試┃験┃対┃策┃問┃題┃
╋━━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━━━━━━━━━━……‥‥
〔問題1〕IMAPにてメールデータを閲覧して終了する、という単純な流れ
として正しいものは次のうちどれか。
1.LOGIN→CAPABILITY→SELECT→FETCH→LOGOUT
2.AUTHENTICATE→SUBSCRIBE→FETCH→LOGOUT
3.LOGIN→AUTHENTICATE→SELECT→FETCH→LOGOUT
4.LOGIN→SUBSCRIBE→FETCH→SELECT→LOGOUT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ネ┃ッ┃ト┃ワ┃ー┃ク┃の┃基┃礎┃講┃座┃
━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛
-----------------------------------------------------------------
この企画は処女作「TCP/IPネットワークステップアップラーニング」
http://www.Amazon.co.jp/exec/obidos/ASIN/4774116351/ipnetworksk01-22
を基に構成変更、加筆、修正、省略。。。いろいろ手を加えたものです。
TCP/IPネットワークステップアップラーニングは第3刷を重ねました!
講習教科書などでご利用いただいています。
-----------------------------------------------------------------
【11.アプリケーションプロトコル】
11.6. メール
11.6.4 IMAP
11.6.4.2. IMAPサーバとクライアント間のやりとり
IMAPクライアントはサーバに対して命令(コマンド)を出します。
コマンドにはタグが付けられます。たとえばA0001、A0002など。
MS outlookの場合、以下のように0002-0005などとタグがつきます。
0002 LIST "" "*"
0003 LSUB "" "*"
0004 LIST "" "INBOX*"
0005 LSUB "" "INBOX*"
コマンドが1行で完結しない場合、"+"というタグが次のコマンドで使われ
ます。
コマンドはUID(Unique Identifier; ユニーク識別子)かメッセージ番号
で識別されます。
11.6.4.2.1. IMAPサーバへのログイン
1) IMAPクライアントはまずCAPABILITYコマンドを送信し、サーバがサポート
する機能リストを取得します。
↓リストの例
* CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS
X-NON-HIERARCHICAL-RENAME NO_ATOMIC_RENAME AUTH=ANONYMOUS
AUTH=KERBEROS_V4 AUTH=DIGEST-MD5 AUTH=CRAM-MD5 UNSELECT
. OK Completed
2-a) 認証方法その1:ユーザ名とパスワードを使う(LOGINコマンド)
IMAPクライアントはLOGINコマンドとともに、ユーザ名とパスワードをサ
ーバへ送ります。このとき、平文(クリアテキストやプレーンテキストとも
いう)かCRAM-MD5ハッシュのいずれかが使われることがほとんどです。
2-b) 認証方法その2:専用の認証メカニズムを使う(AUTHENTICATEコマンド)
AUTHENTICATEコマンドを使ったケルベロス認証(KERBEROS_V4)の認証も
サーバ、クライアントのソフトの組み合わせでは可能です。
ケルベロス以外のSASL (Simple Authentication and Security Layer) 認証
メカニズムであるGSSAPI (Generic Security Service Application Programming
Interface) というAPIや S/Key(MD4を使う)を使う場合もあります。
このあたりの詳細はRFC2222などに載っています。
11.6.4.2.2. ログイン後の操作
まずクライアントはサーバにLISTコマンドを送信し、リストを取得します。
次にLSUBコマンドによって購読メールボックスの一覧を取得、表示します。
クライアントはサーバにSELECTコマンドを送信し、メールボックスを選択し
ます。
その後FETCHコマンドでメールボックス内のメールデータを取得します。
メールボックス内のデータを更新する場合はSTOREコマンドを使います。
サーバとの接続を終了したい場合、クライアントはLOGOUTコマンドを使って
コネクションを閉じます。
他には以下のような操作があります。
EXAMINEコマンド:SELECTコマンドを同様だが、読み出し専用でメールボックス
を選択する。
DELETEコマンド:サーバのメールボックスを削除する。
RENAMEコマンド:サーバのメールボックス名称を変更する。
CREATEコマンド:サーバにメールボックスを生成する。
NOOPコマンド:サーバにNOOP (No operation) コマンドを送信。サーバは
特に処理を行わない。キープアライブなどの用途。
SUBSCRIBEコマンド:共有メールボックスに購読(subscribe)の設定を行う
UNSUBSCRIBEコマンド:共有メールボックスに未購読(unsubscribe)の設定を行う
11.6.4.2.3 IMAP通信の例
これはRFC2060に載っている例です。
S:がサーバからのメッセージで、C:がクライアントからのコマンドです。
"a001"のようなものがタグです。
LOGINコマンドでログインして、SELECTコマンドでメールボックス選択、FETCH
コマンドでメールデータを取得して、STOREコマンドで削除フラグを付けて、
FETCHで既読、削除フラグが追加され、その後ログアウト、という流れです。
S: * OK IMAP4rev1 Service Ready
C: a001 login mrc secret
S: a001 OK LOGIN completed
C: a002 select inbox
S: * 18 EXISTS
S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
S: * 2 RECENT
S: * OK [UNSEEN 17] Message 17 is the first unseen message
S: * OK [UIDVALIDITY 3857529045] UIDs valid
S: a002 OK [READ-WRITE] SELECT completed
C: a003 fetch 12 full
S: * 12 FETCH (FLAGS (\Seen) INTERNALDATE "17-Jul-1996 02:44:25 -0700"
RFC822.SIZE 4286 ENVELOPE ("Wed, 17 Jul 1996 02:23:25 -0700 (PDT)"
"IMAP4rev1 WG mtg summary and minutes"
(("Terry Gray" NIL "gray" "cac.washington.edu"))
(("Terry Gray" NIL "gray" "cac.washington.edu"))
(("Terry Gray" NIL "gray" "cac.washington.edu"))
((NIL NIL "imap" "cac.washington.edu"))
((NIL NIL "minutes" "CNRI.Reston.VA.US")
("John Klensin" NIL "KLENSIN" "INFOODS.MIT.EDU")) NIL NIL
"<B27397-0100000@cac.washington.edu>")
BODY ("TEXT" "PLAIN" ("CHARSET" "US-ASCII") NIL NIL "7BIT" 3028 92))
S: a003 OK FETCH completed
C: a004 fetch 12 body[header]
S: * 12 FETCH (BODY[HEADER] {350}
S: Date: Wed, 17 Jul 1996 02:23:25 -0700 (PDT)
S: From: Terry Gray <gray@cac.washington.edu>
S: Subject: IMAP4rev1 WG mtg summary and minutes
S: To: imap@cac.washington.edu
S: cc: minutes@CNRI.Reston.VA.US, John Klensin <KLENSIN@INFOODS.MIT.EDU>
S: Message-Id: <B27397-0100000@cac.washington.edu>
S: MIME-Version: 1.0
S: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
S:
S: )
S: a004 OK FETCH completed
C: a005 store 12 +flags \deleted
S: * 12 FETCH (FLAGS (\Seen \Deleted))
S: a005 OK +FLAGS completed
C: a006 logout
S: * BYE IMAP4rev1 server terminating connection
S: a006 OK LOGOUT completed
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
解┃答┃と┃解┃説┃
━┛━┛━┛━┛━┛
《本日の試験対策問題》
(解答)1
(解説)
1.LOGIN→CAPABILITY→SELECT→FETCH→LOGOUT
2.AUTHENTICATE→SUBSCRIBE→FETCH→LOGOUT
3.LOGIN→AUTHENTICATE→SELECT→FETCH→LOGOUT
4.LOGIN→SUBSCRIBE→FETCH→SELECT→LOGOUT
1が正解ですが、CAPABILITYはあってもなくてもよいです。
2はメールボックスを選択するSELECTコマンドが足りません。
3はLOGINのあとにAUTHENTICATEとなっていて、認証が重複して
いるのでおかしいです。
4はFETCH(データ取得)とSELECT(メールボックス選択)の
順番が逆です。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆◆◆◆◆◆ ┃ あとがき ┃ ◆◆◆◆◆◆
今回のIMAPをはじめ、レイヤ7(アプリケーション層)の
プロトコルは1つ1つがボリュームおおきいので、ネット
ワーク技術者のなかでも名前くらいしか聞いたことが無い、
という人も多いのではないでしょうか。
アプリケーションはその手の専門家(専門ベンダ)が作っ
ていたり、RFC化されていないものも多くあり、1つずつ
技術仕様を確認するのがとても大変です。
しかしネットワークセキュリティを扱ったり、ユーザに
近いところでのトラブルシュートではレイヤ7のプロトコル
の知識も必須です。
個人的にも知らないことが多いのですが、できるだけ噛み
砕いて紹介できるようにしたいと思います。
adzuki
………………………………………………………
IP Network Skill vol.000297 02/02/06
発行者:adzuki http://www.xai.nu/ipnet
…………… ipnet7@xai.nu ……
◎ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄◎
| 新規購読・購読解除・バックナンバー ⇒ http://www.xai.nu/ipnet
| IP Network Skill 掲示板
| ⇒ http://www.xai.nu/cgibin/ipnet/bbs.cgi
| バックナンバー一覧
| ⇒ http://xai.nu/ipnet/stack/index.html
| 間違いご指摘
| ⇒ メルマガにコメントを添えて返信ください。
◎_________________________________◎
このメルマガを読んでいる人はこんなメルマガも読んでいます
- のんびりやろう!情報処理試験! 〜1問1問コツコツと〜
- ソフトウェア開発&基本情報技術者試験対策を中心に初級シスアドや高度区分まで幅広く対応。流行のIT用語の解説も行っているので,パソコンについて勉強した...
- Office & VBA パーフェクトマスター
- Excel・Access・Word等の今さら聞けない「疑問」、今すぐ知りたい「困った」、たちまち解決!のmoug(モーグ)がお送りする、関数初心者か...
- ネットワークのおべんきょしませんか?
- TCP/IPってなに?LANって?ルータって何をするの?というネットワークに関することをわかりやすく解説します。情報処理の試験を受ける方にもぴったり...
- エクセル(EXCEL)+ワード(WORD)=MOUS School:マイクロソフト公認の資格をとろう!
- マイクロソフト オフィスユーザ検定試験(MOUS)の資格取得を目的とした、各種情報(練習問題、解説)をご提供。仕事で役立つWord(ワード)/Exc...
- IPネットワーク考
- インターネットのネットワークSEの実務者が、IPネットワークにまつわる話題、問題、技術について実務者ならではの視点から解説します。ネットワーク、TC...
![メルマガスタンド[メルマ!]](/img/common/melma_logo.gif)









