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=None, content_id=None, content_type=None, 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=None, content_id=None, content_type=None, 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.message.Message.__init__