Есть ли способ повторной сборки в сообщениях электронной почты Python, закодированных с помощью Content-Type: message/partial
(т. Е. Раздел '7.3.2. Подтип сообщения / частичное' из RFC 1521 )?
В частности, учитывая набор писем , как можно объединить их обратно в оригинал?то есть
emails = [...] # a list of `email`.
reassembled_email = merge_emails(emails)
Что нужно сделать merge_emails
?Сделал ли это какой-нибудь проект Python?
Можно ожидать, что электронное письмо будет примерно таким:
From: me@example.com
To: me2@example.com
Date: Wed, 30 Jun 2010 14:19:45 -0400
MIME-Version: 1.0
Content-Type: message/partial;
id="TAN_U_R<0.0000749046c4>";
number=1;
total=2
From: me@example.com
Subject:
To: me2@example.com
Date: Wed, 30 Jun 2010 14:19:45 -0400
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="DC_BOUND_PRE_<1277921980.0000744>"
This is a multi-part message in MIME format.
--DC_BOUND_PRE_<1277921980.0000c4>
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
This E-mail was sent from Your Printer
Some random text.
--DC_BOUND_PRE_<1277921980.0000744>
Content-Type: application/pdf; name="abcdef.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="abcdef.pdf"
JVBERi0xLjMKJZKgoooKNCAwIG9iago8PC9UeXBlL1hPYmplY3QKL1N1YnR5cGUvSW1hZ2UK
...
Вот моя первоначальная мысль:
from email import parser
def merge_emails(emails):
# we can presume emails are ordered correctly and all the parts accounted for
content = ''
for eml im emails:
content += emails.get_payload()
return parser.Parser().parsestr(content)
Будет ли это работать (это так просто)?Как вы можете собрать эту электронную почту?
В качестве альтернативы этому в Python, есть ли программа для командной строки Unix / Mac OS X, которая сделает это?
Спасибо за чтениеи любую информацию, которую вы сможете предоставить.
С уважением,
Брайан