Recevoir des messages avec l'API Mail

Ce guide explique comment utiliser l'API Mail pour recevoir des e-mails.

Avant de commencer

Vous devez enregistrer vos adresses e-mail d'expédition en tant qu'expéditeurs autorisés. Pour en savoir plus, consultez la section Utilisateurs autorisés à envoyer des e-mails.

Recevoir des messages

Vous pouvez configurer votre application afin que les messages entrants soient reçus par certaines adresses au format suivant :

anything@appid.appspotmail.com

Pour recevoir des e-mails, procédez comme suit :

  1. Activez les messages entrants dans le fichier app.yaml de votre application :

    inbound_services:
    - mail
  2. Configurez un gestionnaire pour traiter les messages entrants, qui sont fournis à votre application sous forme de données MIME dans une requête HTTP POST.

    1. Dans votre application, enregistrez un gestionnaire au chemin d'accès /_ah/mail/ :

      func init() {
      	http.HandleFunc("/_ah/mail/", incomingMail)
      }
      
    2. Dans le gestionnaire, lisez les données des e-mails à partir de la requête *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)
      }
      

    Vous pouvez utiliser le package net/mail de la bibliothèque standard pour analyser les messages.