В качестве еще одного варианта ответа от Габриэля я бы рекомендовал использовать _ 1_ среда App Engine в Отправка и получение почты с помощью Mail API.
Из документации:
Получение почты
Ваше приложение может получать электронную почту по адресам в следующей форме:
[email protected]
Сравните с конфигурацией обработки входящей почты в python, как описано здесь, что позволяет входящей почте в вашем Файл app.yaml приложения довольно прост:
inbound_services:
- mail
Назовите файл приложения mail.go, затем зарегистрируйте обработчик для пути /_ah/mail/ и прочтите данные электронной почты из *http.Requestlike, используя net/mail вот так:
func incomingMail(w http.ResponseWriter, r *http.Request) {
ctx := appengine.NewContext(r)
defer r.Body.Close()
var b bytes.Buffer
if _, err := b.ReadFrom(r.Body); err != nil {
log.Errorf(ctx, "Error reading body: %v", err)
return
}
log.Infof(ctx, "Received mail: %v", b)
}
Отправка почты
Следуйте этому руководству, чтобы зарегистрировать отправитель электронных писем как авторизованные отправители em >
Используйте тип mail.Message, чтобы указать отправителя, получателя, тему и текст сообщения.
Отправьте электронное письмо с помощью функции mail.Send.
func confirm(w http.ResponseWriter, r *http.Request) {
ctx := appengine.NewContext(r)
addr := r.FormValue("email")
url := createConfirmationURL(r)
msg := &mail.Message{
Sender: "Example.com Support <[email protected]>",
To: []string{addr},
Subject: "Confirm your registration",
Body: fmt.Sprintf(confirmMessage, url),
}
if err := mail.Send(ctx, msg); err != nil {
log.Errorf(ctx, "Couldn't send email: %v", err)
}
}
Развернуть
Полный пример кода как для получения, так и для отправки доступен здесь, на GitHub:
GoogleCloudPlatform / golang-samples / docs / appengine / mail / mail.go
Чтобы клонировать образец кода, перейдите на свой Console. Нажмите кнопку, чтобы открыть Cloud Shell:
, затем аналогично это краткое руководство введите следующие шаги:
$ SOURCEDIR=https://github.com/GoogleCloudPlatform/golang-samples.git
$ TUTORIALDIR=~/src/your-application-id/go_gae_samples
$ git clone $SOURCEDIR $TUTORIALDIR
$ cd $TUTORIALDIR
$ git checkout master
$ cat docs/appengine/mail/app.yaml
$ cat docs/appengine/mail/mail.go
$ goapp serve docs/appengine/mail/app.yaml
Отсюда вы можете получить доступ к приложению через порт 8080, используя Web preview
.
Чтобы завершить, нажмите Ctrl+C в Cloud Shell.
Наконец, вы можете развернуть свое приложение
goapp deploy -application your-application-id -version 0
Щелкните URL-адрес, чтобы посетить его
http://your-application-id.appspot.com/
Затем отправьте электронное письмо на [email protected], чтобы узнать, работает ли он.
person
Chetabahana
schedule
05.06.2017