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