poplibモジュール

受信したメールを処理するプログラムをpythonで書きたいので、
まずは poplibモジュールの勉強。参考にさせていただいたのは
http://nagosui.org:8080/Nagosui/COREBlog2/categories/learning-python/cbcategory_view?b_start:int=9&-C=
のページです。
このモジュールはPOP3クラスを提供してくれる。
まずはメールサーバへのログイン。POP3オブジェクトを作ってuser(),pass_()メソッドを使えばよいみたい。

>>> import poplib
>>> p = poplib.POP3("mail.xxxx.co.jp")  #サーバ名を指定する。第2引数のportを省略すると
>>> p.user("指定のID")                     POP3標準のポート(110)が使われる。
'+OK Password required for xxxx.'
>>> p.pass_("指定のpass")
'+OK xxxx has 1 visible message (0 hidden) in 1744 octets.'

user()メソッドはパスワード要求を、pass_()メソッドはメッセージ数とメールボックスサイズを返してくれるみたい。
つづいてメールを取り出すにはretr()メソッドを使えばよいみたい。引数には何番目のメッセージを取り出すのかを指定する。

>>> p.retr(1)
('+OK 1744 octets', ['Return-Path: <xxxx@xxxx.co.jp>', 'Delivered-
To: xxxx@xxxxx.co.jp', 'Received: (qmail xxxx invoked from network
); 26 Dec 2008 17:17:57 +0900', ・・・・・・, '------=_NextPart_xx
xx--', '', ''], 1744)

上の結果は省略した部分が多いけど、retr()メソッドを使って返ってくるのは3つの要素を持ったタプルでその内容は、
0番目の要素:サーバからの応答文字列
1番目の要素:メール本体の内容が1行ごとに分割されて含まれたリスト
2番目の要素:メッセージのサイズ
となるみたい。だからこの1番目の要素を取り出せばメッセージの内容が取得できるわけだから、

>>> p_message = p.retr(1)[1]

とすれば良いわけだ。
サーバとの接続を切断するにはquit()メソッドを使えばよいみたいで、

>>> p.quit()
'+OK Pop server at mail.xxxx.co.jp signing off.'