Я немного растерялся. Отправка электронной почты через GAE не работает. Выдается ошибка:
Couldn't send email: API error 1 (mail: INTERNAL_ERROR): Internal error
Я пробовал несколько разных адресов отправителей, но, похоже, они не работают последовательно . Иногда это работает, иногда нет. Локально все кажется нормальным (нет отправки почты, конечно, но журнал показывает отправку гипотетических писем).
Код:
func (coinflip *Coinflip) mailParticipants(context appengine.Context, key *datastore.Key) {
participants, _, _ := coinflip.fetchParticipants(context)
for i := range coinflip.Participants {
msg := &mail.Message{
Sender: "X...@gmail.com",
ReplyTo: "X...@gmail.com",
To: []string{participants[i].Email},
Subject: "What will it be? " + coinflip.Head + " or " + coinflip.Tail + "?",
Body: fmt.Sprintf(confirmMessage, "http://www.flipco.in/register/" + key.Encode() + "?email=" + participants[i].Email),
}
if err := mail.Send(context, msg); err != nil {
context.Errorf("Couldn't send email: %v", err)
}
}
}
const confirmMessage = `
Someone created a coin toss with you.
Please confirm your email address by clicking on the link below:
%s
`
Полный код можно найти на Github: https://github.com/haarts/flipco.in
Спасибо за вашу помощь!
С уважением,