本文整理汇总了Python中email.message_from_binary_file方法的典型用法代码示例。如果您正苦于以下问题:Python email.message_from_binary_file方法的具体用法?Python email.message_from_binary_file怎么用?Python email.message_from_binary_file使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类email
的用法示例。
在下文中一共展示了email.message_from_binary_file方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: parse
# 需要导入模块: import email [as 别名]
# 或者: from email import message_from_binary_file [as 别名]
def parse(self):
try:
if self.message_type == ParserMessageType.STRING:
msg = email.message_from_string(self.raw_message, Message)
elif self.message_type == ParserMessageType.BYTES:
msg = email.message_from_bytes(self.raw_message, Message)
elif self.message_type == ParserMessageType.BINARY_FILE:
msg = email.message_from_binary_file(self.raw_message, Message)
else:
raise ValueError("Invalid message_type, could not parse message.")
except Exception:
raise ParseEmailException
# Do basic post-processing of the message, checking it for defects or
# other missing information.
if msg.defects:
raise DefectMessageException
# Add headers used by LEGO
msg.original_size = len(self.raw_message)
msg["X-MailFrom"] = self.mail_from
return msg
示例2: __init__
# 需要导入模块: import email [as 别名]
# 或者: from email import message_from_binary_file [as 别名]
def __init__(self, message=None):
"""Initialize a Message instance."""
if isinstance(message, email.message.Message):
self._become_message(copy.deepcopy(message))
if isinstance(message, Message):
message._explain_to(self)
elif isinstance(message, bytes):
self._become_message(email.message_from_bytes(message))
elif isinstance(message, str):
self._become_message(email.message_from_string(message))
elif isinstance(message, io.TextIOWrapper):
self._become_message(email.message_from_file(message))
elif hasattr(message, "read"):
self._become_message(email.message_from_binary_file(message))
elif message is None:
email.message.Message.__init__(self)
else:
raise TypeError('Invalid message type: %s' % type(message))
示例3: _parse_email_fixture
# 需要导入模块: import email [as 别名]
# 或者: from email import message_from_binary_file [as 别名]
def _parse_email_fixture(self, fixture_path: str) -> EmailMessage:
if not self._does_fixture_path_exist(fixture_path):
raise CommandError(f'Fixture {fixture_path} does not exist')
if fixture_path.endswith('.json'):
return self._parse_email_json_fixture(fixture_path)
else:
with open(fixture_path, "rb") as fp:
message = email.message_from_binary_file(fp, policy=email.policy.default)
assert isinstance(message, EmailMessage) # https://github.com/python/typeshed/issues/2417
return message
示例4: test_file_with_attachement
# 需要导入模块: import email [as 别名]
# 或者: from email import message_from_binary_file [as 别名]
def test_file_with_attachement(self):
with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data/test_attachment.eml'), mode='br') as msg:
imap_client = yield from self.login_user('user@mail', 'pass', select=True)
mail = Mail(email.message_from_binary_file(msg))
self.imapserver.receive(mail, imap_user='user@mail')
result, data = yield from imap_client.fetch('1', '(RFC822)')
self.assertEqual('OK', result)
self.assertEqual(['1 FETCH (RFC822 {418898}', mail.as_bytes(), ')', 'FETCH completed.'], data)
示例5: test_file_sessions
# 需要导入模块: import email [as 别名]
# 或者: from email import message_from_binary_file [as 别名]
def test_file_sessions(self):
"""Make sure opening a connection creates a new file"""
msg = EmailMessage(
'Subject', 'Content', 'bounce@example.com', ['to@example.com'],
headers={'From': 'from@example.com'},
)
connection = mail.get_connection()
connection.send_messages([msg])
self.assertEqual(len(os.listdir(self.tmp_dir)), 1)
with open(os.path.join(self.tmp_dir, os.listdir(self.tmp_dir)[0]), 'rb') as fp:
message = message_from_binary_file(fp)
self.assertEqual(message.get_content_type(), 'text/plain')
self.assertEqual(message.get('subject'), 'Subject')
self.assertEqual(message.get('from'), 'from@example.com')
self.assertEqual(message.get('to'), 'to@example.com')
connection2 = mail.get_connection()
connection2.send_messages([msg])
self.assertEqual(len(os.listdir(self.tmp_dir)), 2)
connection.send_messages([msg])
self.assertEqual(len(os.listdir(self.tmp_dir)), 2)
msg.connection = mail.get_connection()
self.assertTrue(connection.open())
msg.send()
self.assertEqual(len(os.listdir(self.tmp_dir)), 3)
msg.send()
self.assertEqual(len(os.listdir(self.tmp_dir)), 3)
connection.close()
示例6: message_from_binary_file
# 需要导入模块: import email [as 别名]
# 或者: from email import message_from_binary_file [as 别名]
def message_from_binary_file(s, *args, **kw):
f = io.BytesIO(s.encode())
return email.message_from_binary_file(f, *args, **kw)