2002-04-10 21:01:31 +00:00
|
|
|
|
# Copyright (C) 2001,2002 Python Software Foundation
|
2001-09-23 03:17:28 +00:00
|
|
|
|
# Author: barry@zope.com (Barry Warsaw)
|
|
|
|
|
|
|
|
|
|
"""A package for parsing, handling, and generating email messages.
|
|
|
|
|
"""
|
|
|
|
|
|
2003-03-30 20:47:48 +00:00
|
|
|
|
__version__ = '2.5.1'
|
2001-09-23 03:17:28 +00:00
|
|
|
|
|
2002-09-30 20:41:33 +00:00
|
|
|
|
__all__ = [
|
|
|
|
|
'base64MIME',
|
|
|
|
|
'Charset',
|
|
|
|
|
'Encoders',
|
|
|
|
|
'Errors',
|
|
|
|
|
'Generator',
|
|
|
|
|
'Header',
|
|
|
|
|
'Iterators',
|
|
|
|
|
'Message',
|
|
|
|
|
'MIMEAudio',
|
|
|
|
|
'MIMEBase',
|
|
|
|
|
'MIMEImage',
|
|
|
|
|
'MIMEMessage',
|
|
|
|
|
'MIMEMultipart',
|
|
|
|
|
'MIMENonMultipart',
|
|
|
|
|
'MIMEText',
|
|
|
|
|
'Parser',
|
|
|
|
|
'quopriMIME',
|
|
|
|
|
'Utils',
|
|
|
|
|
'message_from_string',
|
|
|
|
|
'message_from_file',
|
|
|
|
|
]
|
2001-09-23 03:17:28 +00:00
|
|
|
|
|
2002-09-28 20:52:26 +00:00
|
|
|
|
try:
|
|
|
|
|
True, False
|
|
|
|
|
except NameError:
|
|
|
|
|
True = 1
|
|
|
|
|
False = 0
|
|
|
|
|
|
|
|
|
|
|
2001-10-04 17:05:11 +00:00
|
|
|
|
|
2002-09-25 22:07:50 +00:00
|
|
|
|
# Some convenience routines. Don't import Parser and Message as side-effects
|
|
|
|
|
# of importing email since those cascadingly import most of the rest of the
|
|
|
|
|
# email package.
|
2002-09-28 20:52:26 +00:00
|
|
|
|
def message_from_string(s, _class=None, strict=False):
|
|
|
|
|
"""Parse a string into a Message object model.
|
|
|
|
|
|
|
|
|
|
Optional _class and strict are passed to the Parser constructor.
|
|
|
|
|
"""
|
2002-09-25 22:07:50 +00:00
|
|
|
|
from email.Parser import Parser
|
|
|
|
|
if _class is None:
|
|
|
|
|
from email.Message import Message
|
|
|
|
|
_class = Message
|
|
|
|
|
return Parser(_class, strict=strict).parsestr(s)
|
2001-09-23 03:17:28 +00:00
|
|
|
|
|
2002-09-28 20:52:26 +00:00
|
|
|
|
def message_from_file(fp, _class=None, strict=False):
|
|
|
|
|
"""Read a file and parse its contents into a Message object model.
|
|
|
|
|
|
|
|
|
|
Optional _class and strict are passed to the Parser constructor.
|
|
|
|
|
"""
|
2002-09-25 22:07:50 +00:00
|
|
|
|
from email.Parser import Parser
|
|
|
|
|
if _class is None:
|
|
|
|
|
from email.Message import Message
|
|
|
|
|
_class = Message
|
|
|
|
|
return Parser(_class, strict=strict).parse(fp)
|
2002-09-30 15:23:17 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Patch encodings.aliases to recognize 'ansi_x3.4_1968' which isn't a standard
|
|
|
|
|
# alias in Python 2.1.3, but is used by the email package test suite.
|
|
|
|
|
from encodings.aliases import aliases # The aliases dictionary
|
|
|
|
|
if not aliases.has_key('ansi_x3.4_1968'):
|
|
|
|
|
aliases['ansi_x3.4_1968'] = 'ascii'
|
|
|
|
|
del aliases # Not needed any more
|