Spaces:
Running
Running
# Copyright (C) 2002-2006 Python Software Foundation | |
# Author: Barry Warsaw | |
# Contact: [email protected] | |
"""Base class for MIME multipart/* type messages.""" | |
__all__ = ['MIMEMultipart'] | |
from email.mime.base import MIMEBase | |
class MIMEMultipart(MIMEBase): | |
"""Base class for MIME multipart/* type messages.""" | |
def __init__(self, _subtype='mixed', boundary=None, _subparts=None, | |
*, policy=None, | |
**_params): | |
"""Creates a multipart/* type message. | |
By default, creates a multipart/mixed message, with proper | |
Content-Type and MIME-Version headers. | |
_subtype is the subtype of the multipart content type, defaulting to | |
`mixed'. | |
boundary is the multipart boundary string. By default it is | |
calculated as needed. | |
_subparts is a sequence of initial subparts for the payload. It | |
must be an iterable object, such as a list. You can always | |
attach new subparts to the message by using the attach() method. | |
Additional parameters for the Content-Type header are taken from the | |
keyword arguments (or passed into the _params argument). | |
""" | |
MIMEBase.__init__(self, 'multipart', _subtype, policy=policy, **_params) | |
# Initialise _payload to an empty list as the Message superclass's | |
# implementation of is_multipart assumes that _payload is a list for | |
# multipart messages. | |
self._payload = [] | |
if _subparts: | |
for p in _subparts: | |
self.attach(p) | |
if boundary: | |
self.set_boundary(boundary) | |