オルタナティブ・ブログ > IT雑貨屋、日々のつづり >

IT業界につとめる「雑貨屋(なんでも屋)」が、業界の事、情報セキュリティの事、趣味や日々雑感を綴っていきます。お暇な方はおつきあい下さい。

【NET技術.015】メールのプロトコル②

»

 佐藤@IT雑貨屋です。

 今回もメールのプロトコルについて続けていきいます。

◆メール受信のプロトコル(POP)
 メール受信、つまりメールサーバに保存されたメールデータを取得するためのプロトコルの代表的なものに、POPとIMAPがあります。

 POP(Post Office Protocol)はサーバ上にあるメールをすべてクライアントにダウンロードするプロトコルです。ここでは以下の流れでクライアントとメールサーバ間で通信を行います。
 POPもクライアントサーバ間のプロトコルですが、コネクションを確立後、まずはサーバから準備が出来た事を示す「+OK」が返されます。その後、ユーザー認証を行い、メールデータの受信を開始します。
 POPで使用される主なコマンドやレスポンスには、以下のものがあります。

 <POPリクエストの主なコマンド>
  USER:ユーザー名の送信
  PASS:パスワードの送信
  APOP:APOPを使った認証
  LIST:メールの確認、一覧表の取得
  RETR:メールのメッセージの取得
  QUIT:終了
 <主なPOPのレスポンス>
  +OK:正常
  -ERR:エラー発生

◆メール受信のプロトコル(IMAP)
 IMAP(Internet Message Access Protocol)はPOPと同様に、電子メールなどのメッセージを取得するためのプロトコルです。IMAPではメールを全てダウンロードせずに、サーバ側で管理します。メールの既読管理やフォルダ管理もサーバで行うため、複数のコンピュータから同じアカウントでメールを読む場合に一元管理できるという利点があります。
 ログインなどの基本的なコマンドはPOPと同様です。IMAPでは、クライアントに保管されているメールをサーバに保存する事も可能です。

◆メールで様々な書式を扱うためのプロトコル(MIME)
 インターネット上でのメールでは、以前はテキストデータしか扱えませんでした。しかしMIME(Multipurpose Internet Mail Extensions)が登場したことで、画像や動画、プログラムなど様々な種類のバイナリデータを送れるようになりました。
 MIMEはヘッダ部とボディ部(本文)に分かれており、ボディ部は、MIMEヘッダとボディ(データ)からなる空く数のパートで構成されています。

<MIMEの例>
 Mime-Version: 1.0 (1.0)
 Content-Type: multipart/mixed: boudary* Kugirl
 Content-Transfer-Encoding: 7bit
 --kugiru
 Content-Type: text/plain: charset=iso-2022-jp
 
 お世話になります。
 --kugiru
 Content-Type: image/jpeg; name="picture.jpg"
 Content-Transfer-Encoding: base64
 B0GD1041GaaA4YQd~(中略)~QzDFgH0014D
 --kugiru

 Content-Typeい続く部分では、ヘッダに続く情報がどの様な情報のデータなのかを示しています。またContent-Transfer-Encodingでは、メール本文の変換方式が示されます。バイナリデータをテキストデータに変換する際に使われる一般的な方式にはBASE64があります。

Comment(0)