| # Copyright (C) 2001-2006 Python Software Foundation | |
| # Author: Barry Warsaw | |
| # Contact: email-sig@python.org | |
| """Class representing message/* MIME documents.""" | |
| __all__ = ['MIMEMessage'] | |
| from email import message | |
| from email.mime.nonmultipart import MIMENonMultipart | |
| class MIMEMessage(MIMENonMultipart): | |
| """Class representing message/* MIME documents.""" | |
| def __init__(self, _msg, _subtype='rfc822'): | |
| """Create a message/* type MIME document. | |
| _msg is a message object and must be an instance of Message, or a | |
| derived class of Message, otherwise a TypeError is raised. | |
| Optional _subtype defines the subtype of the contained message. The | |
| default is "rfc822" (this is defined by the MIME standard, even though | |
| the term "rfc822" is technically outdated by RFC 2822). | |
| """ | |
| MIMENonMultipart.__init__(self, 'message', _subtype) | |
| if not isinstance(_msg, message.Message): | |
| raise TypeError('Argument is not an instance of Message') | |
| # It's convenient to use this base class method. We need to do it | |
| # this way or we'll get an exception | |
| message.Message.attach(self, _msg) | |
| # And be sure our default type is set correctly | |
| self.set_default_type('message/rfc822') |