Receber correio com a API Mail

Este guia descreve como usar a API Mail para receber correio.

Antes de começar

Tem de registar os seus emails de remetente como remetentes autorizados. Para mais informações, consulte quem pode enviar emails.

Receber correio

Pode configurar a sua app para receber emails recebidos em endereços no seguinte formato:

anything@appid.appspotmail.com

Para receber emails:

  1. Ative o correio recebido no ficheiro app.yaml da sua app:

    inbound_services:
    - mail
  2. Configure um controlador para processar emails recebidos, que são fornecidos à sua app como dados MIME num pedido HTTP POST.

    1. Na sua app, registe um controlador no caminho /_ah/mail/:

      func init() {
      	http.HandleFunc("/_ah/mail/", incomingMail)
      }
      
    2. No controlador, leia os dados do email a partir de *http.Request:

      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)
      }
      

    Pode usar o pacote net/mail na biblioteca padrão para analisar mensagens de correio.