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