English
Skip to page content Skip to main navigation

e.g. "templates" or "datastore"

# Attachments

An email message can include file attachments. The `attachments` field of an email message accepts a list of two-value tuples, one tuple for each attachment. The first element of the tuple is the filename to use for the attachment in the message, and the second element is the data, as a byte string.

    from google.appengine.api import mail
    from google.appengine.ext import db

    class DocFile(db.Model):
      doc_name = StringProperty()
      doc_file = BlobProperty()

    q = db.GqlQuery("SELECT * FROM DocFile WHERE doc_name = :1", myname)
    results = q.fetch(1)
    if results:
      doc = results[0]
      mail.send_mail(sender="support@example.com",
                    to="Albert Johnson <Albert.Johnson@example.com>",
                    subject="The doc you requested",
                    body="""
    Attached is the document file you requested.

    The example.com Team
    """,
                    attachments=[(doc.doc_name, doc.doc_file)])

Only certain types of files are allowed as attachments. The filename of the attachment describes the type of the file. For more information, see the Mail Service overview.