2010-12-01 34 views
0

我使用python標準庫的電子郵件模塊來分析電子郵件。像這樣的東西可以讓我確定發件人:在Python中分析電子郵件時'到'字段

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

但我無法確定郵件的用途。

想法?

+0

注意在例子`sender`是[ 「從包絡」](http://en.wikipedia.org/wiki/Envelope_from)消息的,而不是消息的「From:」標題。 – 2010-12-01 18:10:53

回答

0

您始終可以使用__getitem__(name),其中name是要檢索的標題字段的名稱;在這種情況下「To」,「Cc」和「Bcc」。

的更多信息,請訪問:http://docs.python.org/library/email.message.html

+0

您可以使用反斜線轉義下劃線。或使用勾號將其標記爲代碼;) – AndiDog 2010-12-01 18:08:06

5

您可以訪問消息by index的所有標頭,例如, msg["From"]。對於收件人,請使用msg.get_all("To"),因爲可能有多個值。

還要注意以下幾點:

頁眉中存儲和保留大小寫形式返回,但匹配不區分大小寫。

1

例交互式會話:

>>> import email 
>>> msg = email.message_from_string("from: me\nto: you\n\nTest\n") 
>>> msg.get_all('to') 
['you'] 
>>> msg['to'] 
'you' 
>>>