我使用python標準庫的電子郵件模塊來分析電子郵件。像這樣的東西可以讓我確定發件人:在Python中分析電子郵件時'到'字段
msg = email.message_from_string(data)
sender = msg.get_unixfrom()
但我無法確定郵件的用途。
想法?
我使用python標準庫的電子郵件模塊來分析電子郵件。像這樣的東西可以讓我確定發件人:在Python中分析電子郵件時'到'字段
msg = email.message_from_string(data)
sender = msg.get_unixfrom()
但我無法確定郵件的用途。
想法?
您始終可以使用__getitem__(name)
,其中name是要檢索的標題字段的名稱;在這種情況下「To」,「Cc」和「Bcc」。
您可以使用反斜線轉義下劃線。或使用勾號將其標記爲代碼;) – AndiDog 2010-12-01 18:08:06
email.message.Message.get_all()
會得到所有的值給定標名稱。
print msg.get_all('to')
您可以訪問消息by index的所有標頭,例如, msg["From"]
。對於收件人,請使用msg.get_all("To")
,因爲可能有多個值。
還要注意以下幾點:
頁眉中存儲和保留大小寫形式返回,但匹配不區分大小寫。
例交互式會話:
>>> import email
>>> msg = email.message_from_string("from: me\nto: you\n\nTest\n")
>>> msg.get_all('to')
['you']
>>> msg['to']
'you'
>>>
注意在例子`sender`是[ 「從包絡」](http://en.wikipedia.org/wiki/Envelope_from)消息的,而不是消息的「From:」標題。 – 2010-12-01 18:10:53