メールシステムを活用するツールを書きたくなった。
POP3 でメールサーバにアクセスして、メールのヘッダだけ取得したい。LIST コマンドを試してみたが、ヘッダは取得できない。なにか良い方法とか便利なコマンドとか無いかなあと思い、Google で pop コマンド ヘッダ 取得を検索するとヒット。TOP というコマンドを使えばいいことがわかった。
ラスト・ワン・ホップ プロトコル「POP3」
http://www.atmarkit.co.jp/fnetwork/rensai/netpro07/netpro01. ...
http://www.ietf.org/rfc/rfc1939.txt
http://www.se.hiroshima-u.ac.jp/~isaki/rfc/rfc1939-jp.txt
7. Optional POP3 Commands
telnet で POP サーバのポート110 に接続して TOP を試してみると、以下のようにメールヘッダだけを表示してくれた。
RFC 1939では TOP コマンド使用時の本文行数指定は必須となっているが、私が利用している POP サーバでは、行数を指定しない場合は 0 で指定したときと同じ挙動を示した。POP サーバの種類とバージョンは不明だけど。
POP3 でメールサーバにアクセスして、メールのヘッダだけ取得したい。LIST コマンドを試してみたが、ヘッダは取得できない。なにか良い方法とか便利なコマンドとか無いかなあと思い、Google で pop コマンド ヘッダ 取得を検索するとヒット。TOP というコマンドを使えばいいことがわかった。
ラスト・ワン・ホップ プロトコル「POP3」
http://www.atmarkit.co.jp/fnetwork/rensai/netpro07/netpro01. ...
●TOP メッセージ番号 Line数
TOPコマンドはRETRコマンドに酷似している。RETRは単にメールメッセージ全体をダウンロードするだけだったが、TOPコマンドは、Line数を指定することでダウンロードするメールメッセージのボディーの行数を指定できる。ヘッダーは必ずダウンロードされる。0とするとメールヘッダーのみ(メールメッセージのうち、最初の空行の部分まで)となるので、主にメール一覧のみ必要としている場合などによく使用される。
- RFC 1939 post office protocol - version 3
RFC1939 によると TOP は POP3 においてはオプション扱い。http://www.ietf.org/rfc/rfc1939.txt
http://www.se.hiroshima-u.ac.jp/~isaki/rfc/rfc1939-jp.txt
7. Optional POP3 Commands
TOP msg n
Arguments:
a message-number (required) which may NOT refer to to a
message marked as deleted, and a non-negative number
of lines (required)
Restrictions:
may only be given in the TRANSACTION state
Discussion:
If the POP3 server issues a positive response, then the
response given is multi-line. After the initial +OK, the
POP3 server sends the headers of the message, the blank
line separating the headers from the body, and then the
number of lines of the indicated message's body, being
careful to byte-stuff the termination character (as with
all multi-line responses).
Note that if the number of lines requested by the POP3
client is greater than than the number of lines in the
body, then the POP3 server sends the entire message.
Possible Responses:
+OK top of message follows
-ERR no such message
Examples:
C: TOP 1 10
S: +OK
S: <the POP3 server sends the headers of the
message, a blank line, and the first 10 lines
of the body of the message>
S: .
...
C: TOP 100 3
S: -ERR no such message
telnet で POP サーバのポート110 に接続して TOP を試してみると、以下のようにメールヘッダだけを表示してくれた。
$ telnet pop.example.com 110
Trying 10.100.79.7...
Connected to pop.example.com
Escape character is '^]'.
+OK POP3 server ready
USER test063
+OK Password required for test063
PASS PASSWORD
+OK test063's maildrop has 1 messages (2052 octets)
TOP 1 0
+OK
Message-Id: <200405050800.d8e8fca2dc0f896fd7cb4cb0031ba249@example.com>
Date: 05 May 2004 17:00:00 +0900
Mime-Version: 1.0
From: "Saito Hiroaki"
<sonic64@example.com>
Subject: 5/5 2
To: "test063@example.com"
<test063@example.com>,
"sonic64@example.com"
<sonic64@example.com>
X-UIDL: 200405050800.d8e8fca2dc0f896fd7cb4cb0031ba249@example.com
Status: RO
Content-Type: text/plain; charset=iso-2022-jp
.
RFC 1939では TOP コマンド使用時の本文行数指定は必須となっているが、私が利用している POP サーバでは、行数を指定しない場合は 0 で指定したときと同じ挙動を示した。POP サーバの種類とバージョンは不明だけど。
TOP 1
+OK
Message-Id: <200405050800.d8e8fca2dc0f896fd7cb4cb0031ba249@example.com>
Date: 05 May 2004 17:00:00 +0900
Mime-Version: 1.0
From: "Saito Hiroaki"
<sonic64@example.com>
Subject: 5/5 2
To: "test063@example.com"
<test063@example.com>,
"sonic64@example.com"
<sonic64@example.com>
X-UIDL: 200405050800.d8e8fca2dc0f896fd7cb4cb0031ba249@example.com
Status: RO
Content-Type: text/plain; charset=iso-2022-jp
.
- すべての記事の見出し (全1029件)
- 全カテゴリの一覧と記事の数
- カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。
- .net (57件)
- 2ch (19件)
- amazon (5件)
- Apache (22件)
- bash (13件)
- Bookmarklet (9件)
- C# (45件)
- chalow (18件)
- ChangeLog メモ (20件)
- coLinux (2件)
- CSS (5件)
- Delphi (5件)
- DVD (6件)
- Excel (1件)
- F-ZERO (4件)
- FF12 (31件)
- ftp (8件)
- Google (21件)
- gpg (7件)
- HTML (19件)
- http (19件)
- IE (10件)
- IIS (4件)
- iPod (2件)
- JavaScript (14件)
- Linux (63件)
- MCP (6件)
- Mozilla (14件)
- MS SQL Server (30件)
- MySQL (4件)
- Namazu (3件)
- PC (48件)
- Perl (58件)
- PHP (2件)
- Postgres (36件)
- proftpd (2件)
- qmail (1件)
- RFC (4件)
- RSS (33件)
- Ruby (15件)
- samba (3件)
- sonic64.com (6件)
- SQL (15件)
- Squid (3件)
- ssh (7件)
- Subversion (3件)
- unix (31件)
- VSS (2件)
- Windows (34件)
- winny (9件)
- XML (9件)
- xyzzy (17件)
- おいでよ どうぶつの森 (19件)
- お菓子 (5件)
- アスキーアート (13件)
- アニメ (9件)
- クレジットカード (2件)
- ゲーム (120件)
- シェルスクリプト (18件)
- シレン2 (8件)
- セキュリティ (9件)
- ソフトウェア (21件)
- デザインパターン (2件)
- ネットワーク (30件)
- バックアップ (17件)
- プログラミング (14件)
- マリオカートDS (3件)
- メール (26件)
- メモ (116件)
- ラーメン (11件)
- 音楽 (59件)
- 給油 (3件)
- 三国志大戦 (13件)
- 車 (7件)
- 書斎 (4件)
- 食 (30件)
- 買い物 (17件)
- 簿記 (8件)
- 本 (32件)
- 漫画 (9件)
- 2007-04-23 (Mon)
- 2007-03-07 (Wed)
- 2007-02-27 (Tue)
- 2007-01-17 (Wed)
- 2007-01-15 (Mon)
- 2007-01-14 (Sun)
- 2007-01-08 (Mon)
- 2006-12-01 (Fri)
- 2006-11-22 (Wed)
- 2006-11-20 (Mon)
- 2006-11-19 (Sun)
- 2006-09-30 (Sat)
- 2006-08-29 (Tue)
- 2006-08-04 (Fri)
- 2006-07-27 (Thu)
- 2006-07-23 (Sun)
- 2006-07-17 (Mon)
- 2006-07-10 (Mon)
- 2006-07-06 (Thu)
- 2006-07-03 (Mon)
- 2006-06-29 (Thu)
- 2006-06-28 (Wed)
- 2006-06-27 (Tue)
- 2006-06-25 (Sun)
- 2006-06-19 (Mon)
- 2006-06-18 (Sun)
- 2006-06-15 (Thu)
- 2006-06-11 (Sun)
- 2006-06-01 (Thu)
- 2006-05-30 (Tue)
- プロファイル
- 斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
- リンク
- RSS
- スポンサードリンク
- Powered by
- ☆さくらインターネット☆