2010-12-01 16 views
0

私はpython標準ライブラリの電子メールモジュールを使用して電子メールを解析しています。このようなものを使用すると、送信者を決定できます。Pythonで電子メールを解析するときに 'To'フィールド

msg = email.message_from_string(data) 
sender = msg.get_unixfrom() 

しかし、私はメールが誰であるかを判断することができません。

思考?

+0

注、メッセージの「From:」ヘッダーではありません。 –

答えて

0

いつでも__getitem__(name)を使用できます。ここで、nameは取得するヘッダーフィールドの名前です。この場合は「To」、「Cc」および「Bcc」となります。指定されたヘッダ名のすべての値を取得しますhttp://docs.python.org/library/email.message.html

+0

バックスラッシュでアンダースコアをエスケープできます。またはそれをコードとしてマークするためにダニを使用;) – AndiDog

+0

BCCヘッダーは配信前に削除されます。ただし、smtpセッションでのみ存在することがわかります – drul

5

メッセージby indexのすべてのヘッダーにアクセスできます。 msg["From"]。複数の値がある可能性があるため、受信者の場合はmsg.get_all("To")を使用します。

はまた、次の点に注意してください。

ヘッダが保存され、返された場合、保存形式ではなく、大文字と小文字を区別せずに照合されています。

1

例インタラクティブセッション: `あなたの例でsender`メッセージの[ "からエンベロープ"(http://en.wikipedia.org/wiki/Envelope_from)であること

>>> import email 
>>> msg = email.message_from_string("from: me\nto: you\n\nTest\n") 
>>> msg.get_all('to') 
['you'] 
>>> msg['to'] 
'you' 
>>> 
関連する問題