Mail with Headers or Attachments

When you send mail using the Mail API, there are some restrictions on the headers that you can use and the types of files you can attach.

Optional headers you can use

An outgoing email has headers that provide details about the message, such as the sender, recipient, date, and subject. Each header has a name and a value. You can also include the following headers in an outgoing email; for security purposes, other headers are not allowed:

  • In-Reply-To
  • List-Id
  • List-Unsubscribe
  • On-Behalf-Of
  • References
  • Resent-Date
  • Resent-From
  • Resent-To

Mail with attachments

An outgoing email message can have file attachments. Each attachment has a filename and file data. The file data can come from any source, such as an application data file or the datastore.

Filename extensions that are prohibited

As a security measure to protect against viruses, email attachments cannot use the following filename extensions, and ZIP files cannot contain files with the following filename extensions:

  • ade
  • adp
  • bat
  • chm
  • cmd
  • com
  • cpl
  • exe
  • hta
  • ins
  • isp
  • jse
  • lib
  • mde
  • msc
  • msp
  • mst
  • pif
  • scr
  • sct
  • shb
  • sys
  • vb
  • vbe
  • vbs
  • vxd
  • wsc
  • wsf
  • wsh

Attachments and Multipurpose Internet Mail Extensions (MIME) types

The MIME type of an attachment is determined from the file's extension. The MIME type identifies the type of content that is being sent, and can determine how that data is transferred.

The following is a list of MIME types and their corresponding filename extensions. You are not limited to these extensions, but if you use an unknown extension, App Engine will assign it the MIME type application/octet-stream.

MIME type Filename extensions
application/msword doc, docx
application/pdf pdf
application/rss+xml rss
application/ kml
application/ kmz
application/ xls, xlsx
application/ pps, ppt, pptx
application/vnd.oasis.opendocument.presentation odp
application/vnd.oasis.opendocument.spreadsheet ods
application/vnd.oasis.opendocument.text odt
application/vnd.sun.xml.calc sxc
application/vnd.sun.xml.writer sxw
application/x-gzip gzip
application/zip zip
audio/basic au snd
audio/flac flac
audio/mid mid, rmi
audio/mp4 m4a
audio/mpeg mp3
audio/ogg oga, ogg
audio/x-aiff aif, aifc, aiff
audio/x-wav wav
image/gif gif
image/jpeg jpeg, jpg, jpe
image/png png
image/tiff tiff, tif
image/vnd.wap.wbmp wbmp
image/x-ms-bmp bmp
text/calendar ics
text/comma-separated-values csv
text/css css
text/html htm, html
text/plain text, txt, asc, diff, pot
text/x-vcard vcf
video/mp4 mp4
video/mpeg mpeg, mpg, mpe
video/ogg ogv
video/quicktime qt, mov
video/x-msvideo avi