|
1 # Copyright (C) 2001-2006 Python Software Foundation |
|
2 # Author: Barry Warsaw |
|
3 # Contact: email-sig@python.org |
|
4 |
|
5 """Class representing message/* MIME documents.""" |
|
6 |
|
7 __all__ = ['MIMEMessage'] |
|
8 |
|
9 from email import message |
|
10 from email.mime.nonmultipart import MIMENonMultipart |
|
11 |
|
12 |
|
13 |
|
14 class MIMEMessage(MIMENonMultipart): |
|
15 """Class representing message/* MIME documents.""" |
|
16 |
|
17 def __init__(self, _msg, _subtype='rfc822'): |
|
18 """Create a message/* type MIME document. |
|
19 |
|
20 _msg is a message object and must be an instance of Message, or a |
|
21 derived class of Message, otherwise a TypeError is raised. |
|
22 |
|
23 Optional _subtype defines the subtype of the contained message. The |
|
24 default is "rfc822" (this is defined by the MIME standard, even though |
|
25 the term "rfc822" is technically outdated by RFC 2822). |
|
26 """ |
|
27 MIMENonMultipart.__init__(self, 'message', _subtype) |
|
28 if not isinstance(_msg, message.Message): |
|
29 raise TypeError('Argument is not an instance of Message') |
|
30 # It's convenient to use this base class method. We need to do it |
|
31 # this way or we'll get an exception |
|
32 message.Message.attach(self, _msg) |
|
33 # And be sure our default type is set correctly |
|
34 self.set_default_type('message/rfc822') |