1

poplibを使用して、Pythonのemailモジュールからemail.Messageクラスからメッセージインスタンスとしてメールをダウンロードするにはどうすればよいですか?

私は、特定の情報についてすべての電子メールを分析し、メッセージの一部をデータベースに保存するプログラムを作成しています。メール全体をテキストとしてダウンロードできますが、添付ファイルを検索するためにテキストをウォークスルーするのは困難です。

アイデアは情報のためにメッセージを解析することです

4

2 に答える 2

3

モジュールFeedParser内のクラスを使用して、サーバーから読み取ったメッセージからオブジェクトを作成します。email.feedparseremail.Messagepoplib

具体的には:

import poplib
import email

pop = poplib.POP3( "server..." )
[establish connection, authenticate, ...]
raw = pop.retr( 1 )
pop.close()

parser = email.parser.FeedParser()
for line in raw[1]:
    parser.feed( str( line+b'\n', 'us-ascii' ) )
message = parser.close()
于 2009-11-04T16:33:17.387 に答える
2

AdrienPlissonの回答のような文字セットの問題は扱いません。

import poplib
import email

pop = poplib.POP3( "server..." )
[establish connection, authenticate, ...]
raw = pop.retr( 1 )
pop.close()

message = email.message_from_string('\n'.join(raw[1]))
于 2011-02-19T15:58:48.907 に答える