Why is there no get_body() in mailbox.Maildir?
Chris Green
cl at isbd.net
Sun Nov 28 09:20:13 EST 2021
I have the following error:-
chris at esprimo$ ./showmail.py boating/Odin/moorings/angers "01 Oct 2009 18:03:00"
Traceback (most recent call last):
File "/home/chris/dev/cgi-bin/./showmail.py", line 24, in <module>
print(msg.get_body('plain',))
AttributeError: 'MaildirMessage' object has no attribute 'get_body'
It's being returned by the following (rather trivial) Python program:-
#!/usr/bin/python3
#
#
# replacement for complex Zend/PHP E-Mail message extraction
#
import mailbox
import email
import sys
import os
mbroot = "/home/chris/mail/folder"
mbname = os.path.join(mbroot, sys.argv[1])
mb = mailbox.Maildir(mbname)
#
#
# run through the messages in the mailbox looking for date/time match
#
for msg in mb:
# print(msg.get("Subject"))
# print(msg.get("Date"))
if sys.argv[2] in msg.get("Date"):
print(msg.get_body('plain',))
exit(0)
exit(1)
I thought MaildirMessage inherited from email.message, it has inherited the
get() method so why not the get_body() method? I'm running Python 3.9.7
on xubuntu Linux 21.10.
Is there another way of doing this or do I have to sort through the message
parts and stuff? It sounded like get_body() would make things easier.
--
Chris Green
·
More information about the Python-list
mailing list