| # Copyright (C) 2002-2006 Python Software Foundation |
| # Author: Barry Warsaw |
| # Contact: email-sig@python.org |
| |
| """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, |
| **_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, **_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) |