2016-07-12 7 views
0
import getpass, poplib 
user = 'my_user_name' 
Mailbox = poplib.POP3_SSL('pop-mail.outlook.com.com', '995') 
Mailbox.user(user) 
Mailbox.pass_('my_password') 
numMessages = len(Mailbox.list()[1]) 
for i in range(numMessages): 
    for msg in Mailbox.retr(i+1)[1]: 
     print msg 
Mailbox.quit() 

上記のコードは、PythonのPOP3ドキュメントのものです。私はこれを使用していました。しかし、それは実際に私が欲しいものではありません。私はそれらが特定の元のアドレスから来た電子メールを読んでみたい。私はPythonのPOP3ライブラリでは何のメソッドも見つかりませんでした。誰も助けることができますか?メッセージ POP3でpythonの特定のアドレスからoutlook電子メールを読む

  • の数はオプションのコマンド(TOPのMSG n)が可能メッセージ
  • を削除し、完全なメッセージ

  • を取得する取得

  • +0

    POP3にはフィルタ/検索機能がありません。自分でメールを見なければなりません。 – poke

    +0

    ohh ... IMAPについてはどうですか?それはありますか? –

    答えて

    0

    POP3プロトコルのみに可能メッセージの最初のn行だけを読み取る。理論的には、特定のアドレスからのメッセージのみを完全にダウンロードするために使用することができます。このコマンドは、poplibとモジュールによってサポートされていますが、マニュアルは言う:

    は...残念ながら、TOPは不十分RFCで指定されており、しばしばノーブランドのサーバーでは壊れています。このメソッドを信頼する前に使用するPOP3サーバーに対して手作業でテストします。

    私のアドバイスはさえことを使用しようとしない、遅かれ早かれ壊れる可能性があります。 POP3を守らなければならない場合、読者が何をするのか:すべてをダウンロードしてクライアント側にフィルターをかけます。そして本当にメッセージサーバー側をフィルタリングしたい場合は、POP3プロトコルを忘れて、それを目的としたIMAP4を使用してください。 Pythonでimaplibモジュールを使ってうまくサポートしています

    関連する問題