全ての IMAP4rev1 命令は、同じ名前のメソッドで表されており、大文字の ものも小文字のものもあります。
命令に対する引数は全て文字列に変換されます。例外は "AUTHENTICATE"の引数と "APPEND" の最後の引数で、これは IMAP4 リテラルとして
渡されます。必要に応じて (IMAP4 プロトコルが感知対象としている
文字が文字列に入っており、かつ丸括弧か二重引用符で囲われていなかった
場合) 文字列はクオートされます。しかし、"LOGIN" 命令の
password 引数は常にクオートされます。文字列がクオートされない
ようにしたい (例えば "STORE" 命令の flags 引数) 場合、
文字列を丸括弧で囲んでください (例: r'(\Deleted)')。
各命令はタプル: (type, [data, ...]) を返し、
type は通常 'OK' または 'NO' です。
data は命令に対する応答をテキストにしたものか、命令に対する
実行結果です。各 data は文字列かタプルとなります。タプルの場合、
最初の要素はレスポンスのヘッダで、次の要素にはデータが格納されます。
(ie: 'literal' value)
IMAP4 のインスタンスは以下のメソッドを持っています:
| mailbox, flags, date_time, message) |
| mechanism, authobject) |
mechanismは利用する認証メカニズムを与えます。
認証メカニズムはインスタンス変数capabilities の中に
AUTH=mechanismという形式で現れる必要があります。
authobjectは呼び出し可能なオブジェクトである必要があります。
data = authobject(response)
これはサーバで継続応答を処理するためによばれます。
これは(おそらく)暗号化されて、サーバへ送られた data を返します。
もしクライアントが中断応答 "*" を送信した場合にはこれは None を返します。
| ) |
| ) |
| message_set, new_mailbox) |
| mailbox) |
| mailbox) |
| mailbox, who) |
| ) |
| message_set, message_parts) |
| mailbox) |
| root) |
| mailbox) |
| [directory[, pattern]]) |
| user, password) |
| user, password) |
| ) |
| [directory[, pattern]]) |
| mailbox) |
| ) |
| ) |
| host, port) |
read、
readline、send、およびshutdown メソッドで
使われます。このメソッドはオーバライドすることができます。
| message_num, message_part, start, length) |
| user) |
| size) |
| ) |
| ) |
None
になり、そうでない場合 "RECENT" 応答の値になります。
| oldmailbox, newmailbox) |
| code) |
None を返します。通常の形式 (usual type) ではなく指定したコード
を返します。
| charset, criterion[, ...]) |
None でもよく、この場合にはサーバ
への要求内に "CHARSET" は指定されません。IMAP プロトコルは
少なくとも一つの条件 (criterion) が指定されるよう要求しています;
サーバがエラーを返した場合、例外が送出されます。
例:
# M is a connected IMAP4 instance... msgnums = M.search(None, 'FROM', '"LDJ"') # or: msgnums = M.search(None, '(FROM "LDJ")')
| [mailbox[, readonly]]) |
'INBOX' です。readonly が設定された
場合、メイルボックスに対する変更はできません。
| data) |
data を送信します。
このメソッドはオーバライドすることができます。
| mailbox, who, what) |
| root, limits) |
| ) |
open で確立された接続を閉じます。
このメソッドはオーバライドすることができます。
| ) |
| sort_criteria, charset, search_criterion[, ...]) |
sort 命令は search に結果の並べ替え (sort) 機能をつけた
変種です。返されるデータには、条件に合致するメッセージ番号をスペースで
分割したリストが入っています。
sort 命令は search_criterium の前に二つの引数を持ちます;
sort_criteria のリストを丸括弧で囲ったものと、検索時の
charset です。
search と違って、検索時の charset は必須です。
uid sort 命令もあり、search に対する uid search
と同じように sort 命令に対応します。
sort 命令はまず、charset 引数の指定に従って searching criteria
の文字列を解釈し、メイルボックスから与えられた検索条件に合致する
メッセージを探します。次に、合致したメッセージの数を返します。
"IMAP4rev1" 拡張命令です。
| mailbox, names) |
| message_set, command, flag_list) |
| mailbox) |
| threading_algorithm, charset, search_criterion[, ...]) |
threadコマンドはsearchにスレッドの概念を加えた変形版で
ス。返されるデータは空白で区切られたスレッドメンバのリストを含んでい
ます。
各スレッドメンバは0以上のメッセージ番号からなり、空白で区切られ て おり、親子関係を示しています。
threadコマンドはsearch_criterion引数の前に2つの引数を持っています。
threading_algorithmとcharsetです。
searchコマンドとは違い、charsetは必須です。
searchに対する uid searchと同様に、 threadにも
uid threadがあります。
threadコマンドはまずメールボックス中のメッセージを、charsetを
用いた検索条件で検索します。その後マッチしたメッセージを指定された
スレッドアルゴリズムでスレッド化して返します.
これは "IMAP4rev1" の拡張コマンドです。 バージョン 2.4 で 新たに追加 された仕様です。
| command, arg[, ...]) |
| mailbox) |
| name[, arg[, ...]]) |
IMAP4_SSL のインスタンスは追加のメソッドを一つだけ持ちます:
| ) |
以下の属性が IMAP4 のインスタンス上で定義されています:
Debug から取られます。3 以上の値にすると各命令をトレースします。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。