The mail package

import ""


Package mail provides the means of sending email from an App Engine application.


msg := &mail.Message{
    Sender:  "",
    To:      []string{"Juliet <>"},
    Subject: "See you tonight",
    Body:    "Don't forget our plans. Hark, 'til later.",
if err := mail.Send(c, msg); err != nil {
    log.Errorf(c, "Alas, my user, the email failed to sendeth: %v", err)


func Send(c context.Context, msg *Message) error
func SendToAdmins(c context.Context, msg *Message) error
type Attachment
type Message

func Send

func Send(c context.Context, msg *Message) error

Send sends an email message.

func SendToAdmins

func SendToAdmins(c context.Context, msg *Message) error

SendToAdmins sends an email message to the application's administrators.

type Attachment

type Attachment struct {
    // Name must be set to a valid file name.
    Name      string
    Data      []byte
    ContentID string

An Attachment represents an email attachment.

type Message

type Message struct {
    // Sender must be set, and must be either an application admin
    // or the currently signed-in user.
    Sender  string
    ReplyTo string // may be empty

    // At least one of these slices must have a non-zero length,
    // except when calling SendToAdmins.
    To, Cc, Bcc []string

    Subject string

    // At least one of Body or HTMLBody must be non-empty.
    Body     string
    HTMLBody string

    Attachments []Attachment

    // Extra mail headers.
    // See
    // for permissible headers.
    Headers mail.Header

A Message represents an email message. Addresses may be of any form permitted by RFC 822.