В качестве другого варианта в answer от Габриэль Я бы рекомендовал использовать go
окружающую среду App Engine
на Sending and Receiving Mail with the Mail API.
из документации:
Получение почты
Ваше приложение может получать электронную почту на адреса следующей формы:
[email protected]
Compare к конфигурации на обработку входящей почты в python
, как обсуждался here, позволяя входящую почту в файле 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)
}
Отправка почты
Follow это guideline, чтобы зарегистрировать электронные письма отправителя как authorized senders
Используйте тип 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)
}
}
Deploy
Полный пример кода как прием и отправка доступна здесь на GitHub:
GoogleCloudPlatform/golang-samples/docs/appengine/mail/mail.go
Чтобы клонировать образец кода, перейдите ваш Console
. Нажмите на кнопку, чтобы открыть Cloud Shell
: то подобное с this quickstart введите указанные ниже действия:
$ 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]
увидеть, если он работает.
Есть ли какие-либо другие способы, по которым вы бы порекомендовали, как я иду на достижение этой задачи? – 2009-03-05 23:09:44
Нет, я думаю, вы могли бы очистить почту от почтового клиента html, а затем использовать что-то вроде этого: http: //schedulerservice.appspot. com/about Лучше использовать другую платформу или дождаться реализации дорожной карты. – Sam