問題タブ [imaplib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
696 参照

python - IMAP メールボックス名の大文字と小文字の区別への対処

Gmailアカウントに接続し、電子メールアドレスにある「+」タグに基づいて電子メールをソートするimaplibを使用するpythonスクリプトがあります。例: myaccount+root.foo.bar@gmail.com に送信されたメールは root\foo\bar に移動されます。

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

場合によっては、同じタグで大文字と小文字が異なるメールが届くことがあります。たとえば、myaccount+root.FOO.BAR@gmail.com を入力すると、次の出力が表示されます。

したがって、同じ名前のフォルダーが既に存在するため (大文字と小文字が異なるだけで)、フォルダーの作成に失敗しますが、明示的なフォルダーが存在しないため、コピーは失敗します。

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

注: これは、すべてのタグを小文字に強制するほど簡単ではありません。ユーザーは、電子メール クライアントを使用してアカウントに接続し、時折、その時点で意味のある大文字と小文字を使用してフォルダーを手動で作成します。

0 投票する
2 に答える
1098 参照

ios4 - Gmail imapでメッセージをゴミ箱に移動するには?

gmail で IMAP を使用してメールを削除する必要があるアプリケーションを作成しています。しかし、フラグを設定して削除すると、メッセージはゴミ箱や直接削除ではなくスパムフォルダーに移動します。メッセージをゴミ箱に移動する方法はありますか?

アップデート

今、私のメッセージは受信トレイから重要なフォルダーに移動しています。(Web ブラウザで) 自分自身にメッセージを送信していますが、デフォルトで重要としてマークされています。

0 投票する
1 に答える
4677 参照

python - Python を使用した Gmail の IMAP の問題

Python 2.7 の IMAP に問題があります。テスト目的で、このチュートリアル に従っfoobar306@gmail.comているパスワードを使用して作成し、これを Python 反復シェルに入力しました。testing123testing

エラーメッセージも含め、何も起こりません。注: Gmail で IMAP を有効にしました ありがとうございます -tim

更新: このコメントへの対応:

上で引用したコードの後に​​次のセクションを実行しましたか? - アンバー

私はこれを試しました:

それでも何もしませんでした

0 投票する
2 に答える
7381 参照

python - Imap検索基準-imaplib(python)

Pythonにimaplibを使用していますが、奇妙な動作に遭遇しました。これがimapまたはimaplibの問題/機能であるかどうかはよくわかりません。そのため、誰かが私にいくつかのライトを教えてくれることを願っています。

私のプロジェクトの間、私は自分のGmailボックスでいくつかの検索を行います。次の基準でimap検索を実行するとします。

((「日付A」以降)(「日付B」の前))

これで、「日付A」以降の電子メールがある場合、imap(lib)は期待どおりの処理を実行します。「日付A」以降、「データB」の前の電子メールを返します。素晴らしい。ただし、「日付A」以降にメールがない場合、imap(lib)はそれを無視し、「データA」以降ではなくても、「日付B」より前のすべてのメールを返します。

これはimapの予想される動作ですか?私は本当にそうは思いません、それはまったく意味がありません。

私は本当に特定の期間を検索する機能が必要であり、最後の電子メールの日付を知るためだけにすべての検索の前にボックスをプールする必要はありません。

何か案が?ここで何かが足りませんか?

0 投票する
1 に答える
3340 参照

python - IMAP フェッチ エンコーディング

このようにimapを使用してgmailからメール情報を取得しようとしています

問題は、特殊文字やアクセント付き文字ではうまく機能しないことです。例えば、

としてレンダリングされます

選択したエンコーディングで文字列を返すように Gmail に指示するにはどうすればよいですか。たとえば、Charset を UTF-8 にしたいとします。

上記の IMAP コマンドでそれを調整するにはどうすればよいですか?

0 投票する
3 に答える
5098 参照

python - あるIMAPサーバーから別のIMAPサーバーにメッセージを移動するスクリプト

私たちのオフィスは電子メールに2つのIMAPサーバーを使用しています。1つは受信サーバーで最近の電子メールを保持し、もう1つはアーカイブサーバーです。私たちは主にOutlook2010を使用しており、現在のプロセスは、送信されたメッセージを着信サーバーからアーカイブに定期的にドラッグすることです。

今日、私はスクリプトの作成を検討するように求められました。スクリプトを定期的に(おそらくcrontabを使用して)取得し、送信されたすべてのメッセージをアーカイブに移動します。

サーバーにアクセスして調べ回るSSLまたはtelnetの例をいくつか調べました。ただし、これをスクリプト化する最善の方法や、IMAP環境内でサーバー間でファイルを移動する方法がわかりません。

これを達成するための最良の方法は何ですか?快適なレベルからPythonを使用したいのですが、別の言語で既存のソリューションがすでに存在する場合は、それに対処できます。


アップデート:

わかりました、ここにいくつかのコードがあります。現在、メッセージは問題なくコピーされますが、アーカイブサーバー上の既存のメッセージが複製されます。

いくつかの情報源:
Doug Hellmanのブログ:imaplib-IMAP4クライアントライブラリ
Tyler Lesmannのブログ:Pythonとimaplibを使用したIMAPメールボックスのコピー

私はまだする必要があります:

  • ライブサーバー上のメッセージを削除/消去します
  • 重複をコピーしない(実際には、コピー後にオリジナルを削除することで修正されますが...)
  • エラートラップ

アップデート2:

コピー時に重複を作成しない方法について誰かが何かアイデアがありますか?(今のところ、オリジナルを削除するオプションを除いて)私はテキストを検索することを考えましたが、ネストされた応答がそれを捨てることができることに気づきました。

0 投票する
1 に答える
3486 参照

python - 別の電子メールから解析された日付を使用して imap を検索する

Python と imaplib を使用して、2 つの imap サーバー (gmail) に接続し、日時を使用してそれらの間でメールを照合しようとしています。

私は2つの問題を抱えています。

  • ヘッダーを解析して返された日付は、検索に直接使用できません。形式が間違っています。
  • ヘッダーを解析して返された日付と時刻で検索するために使用する imap 検索は明確ではありません。

Oldmail と NewMail の imap 接続があります。

ランダムなメール「6001」を選択するだけ

しかし、これは使用するのに適切な形式ではありません。確かに簡単な方法があります:-)

私の目標は、Google 移行アプリを使用して転送に失敗した後、2 つのサーバー間で一致するメールを見つけることです。転送された場合は、古いサーバーのメールを削除します。これを行うためのより良い方法を提案できれば、それも役立ちます。

0 投票する
6 に答える
60212 参照

python - Gmailの受信トレイの件名のタイトルと送信者名を取得するためのPythonimaplib

Gmailアカウントに接続するためにpythonsimaplibを使用しています。上位15件のメッセージ(未読または未読、関係ありません)を取得し、件名と送信者名(またはアドレス)のみを表示したいのですが、受信トレイの内容を表示する方法がわかりません。

これがこれまでの私のコードです(成功した接続)

これは十分に単純なはずだと思います。imaplibライブラリのコマンドに精通していません。どんな助けもありがたいです...

更新 Julianのおかげで、各メッセージを繰り返し処理し、次のコマンドでコンテンツ全体を取得できます。

しかし、私は件名と送信者だけが欲しいのです。これらのアイテムにimaplibコマンドがありますか、それともテキストのdata [0] [1]の内容全体を解析する必要があります:件名と送信者?

UPDATE OK、件名と送信者の部分が機能するようになりましたが、反復(1、15)はdesc orderによって実行され、明らかに最も古いメッセージが最初に表示されます。どうすればこれを変更できますか?私はこれをやってみました:

しかし、それは私に15回の反復すべてを与えるだけNoneです...何かアイデアはありますか?私も試しましmail.sort('REVERSE DATE', 'UTF-8', 'ALL')たが、Gmailは.sort()関数をサポートしていません

更新 それを行う方法を考え出しました:

これにより、要求に応じて、最新の15件のメッセージの件名と送信者アドレスが降順で表示されます。助けてくれたすべての人に感謝します!

0 投票する
2 に答える
792 参照

python - AppEngineのPythonスクリプトでこのimaplibエラーの原因は何ですか?

このスクリプト:

私のためにこのエラーを作ります:

なんで?

0 投票する
1 に答える
1992 参照

python - IMAP COMPRESS (DEFLATE) を使用する価値はありますか?

Gmail は IMAP COMPRESS 拡張機能 ( RFC4978 )、具体的にはDEFLATE アルゴリズム( RFC1951 ) 別名 zlib/gzip をサポートしています。

私は通常 Python プログラマーではありませんが、Piers Lauder の imaplib2を使用して簡単なテスト スクリプトを一緒に投げ、圧縮を有効にした場合と無効にした場合のパフォーマンスを判断しました。

Python コードで明らかな初心者向けエラーを作成した場合は、修正してください。

このテスト スクリプトを数回実行しました。圧縮されたアクセスの平均がより速い場合もあれば、そうでない場合もあります。平均に大きな差はなく、アクセス時間には大きなばらつきがあります (100 メッセージの受信ボックスへの 1 回のアクセスに 4 ~ 17 秒かかる場合があります)。一貫した結果は、私の決定を容易にするでしょう! アクセスは SSL 経由で行われます。これには固有の圧縮があるのではないかと考えていました (わかりません)。

Gmail IMAP にアクセスするときに圧縮を使用する価値があると思いますか?

ちなみに、(Python ではなく) JavaMail を使用したいのですが、圧縮をサポートするために JavaMail を大幅にカスタマイズする必要があることを理解しています (おそらくJessieを使用)。誰かがすでにこれを行っていますか?それは価値があるでしょうか?

フィードバックに感謝します。どうもありがとう。