2011-06-10 25 views
2

imaplibを使用してpythonスクリプトを使用してGmailアカウントに接続し、メールアドレスにある「+」タグに基づいてメールを並べ替えます。たとえば、[email protected]に送信された電子メールはroot \ foo \ barに移動します。IMAPメールボックス名の大文字と小文字を区別する

ロジックは次のようになります。タグを抽出 - >フォルダを作成しようとします - >メッセージをフォルダにコピーします。

メールでは、同じタグでメールが送信されますが、別のメールが送信されます。 [email protected]、例えば、この出力につながる:

​​

同じ名前のフォルダがすでに(ちょうど異なる場合に存在するため、だから、フォルダの作成に失敗)、明示的なフォルダーが存在しないためコピーが失敗します。

メッセージを問題なく移動できるように、既存のフォルダの正しい大文字と小文字を区別できる賢明な方法はありますか?

注:これは、すべてのタグを小文字にするだけの場合ほど簡単ではありません。ユーザーは電子メールクライアントを使用してアカウントに接続し、その時点でどのようなケースでもフォルダを手作業で作成します。

答えて

2

Googleはフォルダが既に存在すると不平を言いますが、何かに移動しようとするとエラーが表示されますか?素晴らしい。それはあなたのIMAPクライアントライブラリに依存してアクセスするためにどのように

http://tools.ietf.org/html/rfc3501#section-6.3.8

IMAPは、 "LIST" リストにコマンドを利用できるメールボックス(フォルダ)を持っています。 Here are a couple of examples

+0

私の考えは正確です。ありがとう - 私は、現在の既存のフォルダの辞書を生成するためにリストを使用し、tags.lower()をキーとして使用することを考えています。私がそれを実装したら私のソリューションを投稿します。 –

関連する問題