17db96d56Sopenharmony_ci# Copyright (C) 2001-2006 Python Software Foundation 27db96d56Sopenharmony_ci# Author: Barry Warsaw 37db96d56Sopenharmony_ci# Contact: email-sig@python.org 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ci"""Class representing message/* MIME documents.""" 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_ci__all__ = ['MIMEMessage'] 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_cifrom email import message 107db96d56Sopenharmony_cifrom email.mime.nonmultipart import MIMENonMultipart 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ciclass MIMEMessage(MIMENonMultipart): 157db96d56Sopenharmony_ci """Class representing message/* MIME documents.""" 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_ci def __init__(self, _msg, _subtype='rfc822', *, policy=None): 187db96d56Sopenharmony_ci """Create a message/* type MIME document. 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ci _msg is a message object and must be an instance of Message, or a 217db96d56Sopenharmony_ci derived class of Message, otherwise a TypeError is raised. 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ci Optional _subtype defines the subtype of the contained message. The 247db96d56Sopenharmony_ci default is "rfc822" (this is defined by the MIME standard, even though 257db96d56Sopenharmony_ci the term "rfc822" is technically outdated by RFC 2822). 267db96d56Sopenharmony_ci """ 277db96d56Sopenharmony_ci MIMENonMultipart.__init__(self, 'message', _subtype, policy=policy) 287db96d56Sopenharmony_ci if not isinstance(_msg, message.Message): 297db96d56Sopenharmony_ci raise TypeError('Argument is not an instance of Message') 307db96d56Sopenharmony_ci # It's convenient to use this base class method. We need to do it 317db96d56Sopenharmony_ci # this way or we'll get an exception 327db96d56Sopenharmony_ci message.Message.attach(self, _msg) 337db96d56Sopenharmony_ci # And be sure our default type is set correctly 347db96d56Sopenharmony_ci self.set_default_type('message/rfc822') 35