История изменений
Исправление noname_user, (текущая версия) :
from email.parser import BytesParser, Parser
from email.policy import default
import mailbox
for message in mailbox.mbox('/var/mail/mailbot'):
headers = Parser(policy=default).parsestr(message)
# Now the header items can be accessed as a dictionary:
print('To: {}'.format(headers['to']))
print('From: {}'.format(headers['from']))
print('Subject: {}'.format(headers['subject']))
# You can also access the parts of the addresses:
print('Recipient username: {}'.format(headers['to'].addresses[0].username))
print('Sender name: {}'.format(headers['from'].addresses[0].display_name))
Вылазит эксепт:
TypeError: initial_value must be str or None, not mboxMessage
UPDATE:
Решил так: str(message)
Осталасб проблема с получением body письма, собственно каким образом ?
Исправление noname_user, :
from email.parser import BytesParser, Parser
from email.policy import default
import mailbox
for message in mailbox.mbox('/var/mail/mailbot'):
headers = Parser(policy=default).parsestr(message)
# Now the header items can be accessed as a dictionary:
print('To: {}'.format(headers['to']))
print('From: {}'.format(headers['from']))
print('Subject: {}'.format(headers['subject']))
# You can also access the parts of the addresses:
print('Recipient username: {}'.format(headers['to'].addresses[0].username))
print('Sender name: {}'.format(headers['from'].addresses[0].display_name))
Вылазит эксепт:
TypeError: initial_value must be str or None, not mboxMessage
UPDATE:
Решил так: str(message)
Исходная версия noname_user, :
from email.parser import BytesParser, Parser
from email.policy import default
import mailbox
for message in mailbox.mbox('/var/mail/mailbot'):
headers = Parser(policy=default).parsestr(message)
# Now the header items can be accessed as a dictionary:
print('To: {}'.format(headers['to']))
print('From: {}'.format(headers['from']))
print('Subject: {}'.format(headers['subject']))
# You can also access the parts of the addresses:
print('Recipient username: {}'.format(headers['to'].addresses[0].username))
print('Sender name: {}'.format(headers['from'].addresses[0].display_name))
Вылазит эксепт:
TypeError: initial_value must be str or None, not mboxMessage