web2py.gluon.tools.Mail.Attachment

Package web2py :: Package gluon :: Module tools :: Class Mail :: Class Attachment |
[hide private]
[frames] | no frames]

# Class Attachment

source code

    email.message.Message --+
                            |
     email.mime.base.MIMEBase --+
                                |
                               Mail.Attachment

    Email attachment

    Arguments:

        payload: path to file or file-like object with read() method
        filename: name of the attachment stored in message; if set to
                  None, it will be fetched from payload path; file-like
                  object payload must have explicit filename specified
        content_id: id of the attachment; automatically contained within
                    < and >
        content_type: content type of the attachment; if set to None,
                      it will be fetched from filename using gluon.contenttype
                      module
        encoding: encoding of all strings passed to this function (except
                  attachment body)

    Content ID is used to identify attachments within the html body;
    in example, attached image with content ID 'photo' may be used in
    html message as a source of img tag <img src="cid:photo" />.

    Examples:

        #Create attachment from text file:
        attachment = Mail.Attachment('/path/to/file.txt')

        Content-Type: text/plain
        MIME-Version: 1.0
        Content-Disposition: attachment; filename="file.txt"
        Content-Transfer-Encoding: base64

        SOMEBASE64CONTENT=

        #Create attachment from image file with custom filename and cid:
        attachment = Mail.Attachment('/path/to/file.png',
                                         filename='photo.png',
                                         content_id='photo')

        Content-Type: image/png
        MIME-Version: 1.0
        Content-Disposition: attachment; filename="photo.png"
        Content-Id: <photo>
        Content-Transfer-Encoding: base64

        SOMEOTHERBASE64CONTENT=

Instance Methods | [hide private]
__init__(self, payload, filename=global_settings.applications_parent, content_id=global_settings.applications_parent, content_type=global_settings.applications_parent, encoding=`'``utf-8``'`) This constructor adds a Content-Type: and a MIME-Version: header. | source code
Inherited from `email.message.Message`: `__contains__`, `__delitem__`, `__getitem__`, `__len__`, `__setitem__`, `__str__`, `add_header`, `as_string`, `attach`, `del_param`, `get`, `get_all`, `get_boundary`, `get_charset`, `get_charsets`, `get_content_charset`, `get_content_maintype`, `get_content_subtype`, `get_content_type`, `get_default_type`, `get_filename`, `get_param`, `get_params`, `get_payload`, `get_unixfrom`, `has_key`, `is_multipart`, `items`, `keys`, `replace_header`, `set_boundary`, `set_charset`, `set_default_type`, `set_param`, `set_payload`, `set_type`, `set_unixfrom`, `values`, `walk` Inherited from `email.message.Message` (private): `_get_params_preserve`

Method Details | [hide private]

### __init__(self, payload, filename=global_settings.applications_parent, content_id=global_settings.applications_parent, content_type=global_settings.applications_parent, encoding=`'``utf-8``'`) (Constructor) | source code
This constructor adds a Content-Type: and a MIME-Version: header. The Content-Type: header is taken from the _maintype and _subtype arguments. Additional parameters for this header are taken from the keyword arguments. Overrides: email.mime.base.MIMEBase.__init__ (inherited documentation)