このモジュールでは三つのクラス、IMAP4, IMAP4_SSL と IMAP4_stream を定義します。これらのクラスは IMAP4 サーバへの接続をカプセル化し、 RFC 2060 に定義されている IMAP4rev1 クライアントプロトコルの大規模な サブセットを実装しています。このクラスは IMAP4 (RFC 1730) 準拠の サーバと後方互換性がありますが、"STATUS" コマンドは IMAP4 では サポートされていないので注意してください。
imaplib モジュール内では三つのクラスを提供しており、 IMAP4 は基底クラスとなります:
[host[, port]]) |
''
(ローカルホスト) が用いられます。
port が省略された場合、標準の IMAP4 ポート番号 (143)
が用いられます。
例外は IMAP4 クラスの属性として定義されています:
このモジュールではもう一つ、安全 (secure) な接続を使ったサブクラスが あります:
[host[, port[, keyfile[, certfile]]]]) |
''
(ローカルホスト) が用いられます。
port が省略された場合、標準の IMAP4-over-SSL ポート番号 (993)
が用いられます。
keyfile および certfile もオプションです - これらは
SSL 接続のための PEM 形式の秘密鍵 (private key) と認証チェイン
(certificate chain) ファイルです。
さらにもう一つのサブクラスは、子プロセスで確立した接続を使用する 場合に使用します。
command) |
os.popen2()
に渡して作成される stdin/stdout
ディスクリプタと接続します。
バージョン 2.3 で 新たに追加 された仕様です。
以下のユーティリティ関数が定義されています:
datestr) |
num) |
A
.. P
] からなる文字集合を用いて表現した
文字列に変換します。
flagstr) |
date_time) |
"DD-Mmm-YYYY HH:MM:SS +HHMM"
(二重引用符含む) を返します。
IMAP4 メッセージ番号は、メイルボックスに対する変更が行われた 後には変化します; 特に、 "EXPUNGE" 命令はメッセージの削除を 行いますが、残ったメッセージには再度番号を振りなおします。従って、 メッセージ番号ではなく、 UID 命令を使い、その UID を利用するよう 強く勧めます。
モジュールの末尾に、より拡張的な使用例が収められたテストセクションが あります。
参考:
プロトコルに関する記述、およびプロトコルを実装したサーバの ソースとバイナリは、全て ワシントン大学の IMAP Information Center (http://www.cac.washington.edu/imap/) にあります。