2012-04-08 6 views
1

私はpythonとIMAPClientで簡単な電子メールクライアントを構築しようとしています。問題は、フォルダ名がすべてのサーバーで統一されていないことです。IMAPメールフォルダの特定(スパム、送信...)、フォルダ名はサーバーによって異なります

電子メールをスパムとしてマークすると、受信ボックスフォルダ(?)からスパム/迷惑メールフォルダに移動する必要がありますが、フォルダが何であるか分かりません名前は(スパムまたはINBOX.junkまたは[Gmail] /スパム)

さまざまなフォルダ名で他のメールクライアントはどのように動作しますか?

答えて

1

私は、一般的なEMailプロバイダには、そのプロバイダがデフォルトで使用するもの(gmail、hotmail、exchangeなど)に関するマッピングがあると思います。

これを実行するもう1つの方法は、ユーザーが最初に決定し、そのアカウントの設定を維持して、再度確認しないようにすることです。

混在したアプローチは、すべての共通のバリエーションを検出し、最初に遭遇した有効なバリエーションを使用することです。それ以上のものがあれば、単にユーザーに選択させるだけです。

+0

Gmailはローカライズされたフォルダ名を使用しているため、この方法は機能しません。 –

+0

最初のアプローチ:すべてのプロバイダに対してマッピングが提供されていません。 Yahoo.comはこのような例の1つです。 2番目のアプローチ:私は本当に理解していませんでした。 3番目のアプローチ:私はすべてのフォルダを "ドラフト"、 "ドラフト"、 "INBOX.Drafts" .....どのように本当に私は本当の1つを決定することができますか? – Naren

0

彼らは多くの可能性を試してみてください、あなたはいずれかを選択し、および/または1つを作成してみましょう;)

0

Roundcubeサーバーとユーザー設定の両方でこれを持っています。私は他のメールクライアントについてはわかりませんが、彼らはどんなフォルダがあるかを調べたり、特定のIMAPサーバーに関する知識を使ったりして、癒しを使っていると思います。

0

まずGmailのXLISTコマンドは(Gmailのフォルダ名はローカライズされていることに注意してください)があります: ​​

第二に、同様の方法で動作します特殊用途と呼ばLISTの拡張機能があります: http://tools.ietf.org/html/rfc6154