Recibir correo con la API Mail

En esta guía se describe cómo usar la API Mail para recibir correo.

Antes de empezar

Debes registrar tus correos de remitente como remitentes autorizados. Para obtener más información, consulta quién puede enviar correos.

Recibir correo

Puedes configurar tu aplicación para que reciba correos en direcciones con el siguiente formato:

anything@appid.appspotmail.com

Para recibir correos, sigue estos pasos:

  1. Habilita el correo entrante en el archivo app.yaml de tu aplicación:

    inbound_services:
    - mail
  2. Configura un controlador para procesar los correos entrantes, que se proporcionan a tu aplicación como datos MIME en una solicitud HTTP POST.

    1. En tu aplicación, registra un controlador en la ruta /_ah/mail/:

      func init() {
      	http.HandleFunc("/_ah/mail/", incomingMail)
      }
      
    2. En el controlador, lee los datos del correo desde *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)
      }
      

    Puedes usar el paquete net/mail de la biblioteca estándar para analizar mensajes de correo.