Поле «Кому» при разборе электронной почты в Python - PullRequest
0 голосов
/ 01 декабря 2010

Я использую модуль электронной почты стандартной библиотеки Python для разбора электронной почты. Примерно так можно определить отправителя:

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

Но у меня проблемы с определением, для кого предназначена почта.

Мысли

Ответы [ 4 ]

5 голосов
/ 01 декабря 2010

Вы можете получить доступ ко всем заголовкам сообщения по индексу , например, msg["From"]. В случае получателя, используйте msg.get_all("To"), потому что может быть несколько значений.

Также обратите внимание на следующее:

Заголовки сохраняются и возвращаются в сохраняющем регистр виде, но сопоставляются без учета регистра.

1 голос
/ 01 декабря 2010

Пример интерактивного сеанса:

>>> import email
>>> msg = email.message_from_string("from: me\nto: you\n\nTest\n")
>>> msg.get_all('to')
['you']
>>> msg['to']
'you'
>>> 
0 голосов
/ 01 декабря 2010

email.message.Message.get_all() получит все значения для данного имени заголовка.

print msg.get_all('to')
0 голосов
/ 01 декабря 2010

Вы всегда можете использовать __getitem__(name), где name - это имя поля заголовка, которое вы хотите получить; в данном случае «To», «Cc» и «Bcc».

Более подробная информация доступна по адресу: http://docs.python.org/library/email.message.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...