Вложения

В сообщение могут быть вложены дополнительные файлы. Поле attachments сообщения может принимать в качестве параметра список кортежей, каждый из которых описывает вложение. Первый элемент этого кортежа используется в качестве имени файла, второй представляет собой массив байт с его содержимым.

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="Запрошенный документ",
                body="""
Запрошенный вами документ приложен к сообщению.

Команда сайта example.com
""",
                attachments=[(doc.doc_name, doc.doc_file)])

Для вложений допускается использование только определенного типа файлов. Тип файла определяется по его расширению.

Допустимые типы вложений

В целях безопасности в сообщениях электронной почты возможно использовать только определенный перечень типов фалов, которые определяются по их расширениям. Во вложении автоматически будет указан MIME-тип, сопоставленный с его расширением.

Ниже приводится список MIME-типов и их соответствующих расширений, которые допустимы для использования в качестве вложений.

MIME типРасширение файла
image/x-ms-bmpbmp
text/csscss
text/comma-separated-valuescsv
image/gifgif
text/htmlhtm html
image/jpegjpeg jpg jpe
application/pdfpdf
image/pngpng
application/rss+xmlrss
text/plaintext txt asc diff pot
image/tifftiff tif
image/vnd.wap.wbmpwbmp