Présentation de l'API Python Mail

Les applications App Engine peuvent envoyer des e-mails pour le compte des adresses de réception de l'application et de certains utilisateurs disposant d'un compte Google. Les applications ont la possibilité de recevoir des e-mails à des adresses différentes. Elles envoient des messages à l'aide du service Mail et en reçoivent sous la forme de requêtes HTTP soumises par App Engine et transmises à l'application.

Envoyer des messages

Le service Mail peut envoyer des e-mails à un ou plusieurs destinataires. Un message contient un objet, un corps en texte brut et un corps HTML facultatif. Il peut également contenir des pièces jointes et un nombre limité d’en-têtes.

Vous pouvez utiliser n'importe quelle adresse e-mail en tant que destinataire. Un destinataire peut être ajouté dans le champ "À" du message, dans le champ "Cc" ou caché aux destinataires du message ("copie carbone invisible" ou "Cci").

Lorsqu'une application appelle le service Mail afin d'envoyer un message, celui-ci est placé en file d'attente et l'appel est immédiatement renvoyé. Le service Mail applique des procédures standards pour contacter le serveur de messagerie de chaque destinataire et transmettre le message ou réessayer si le serveur de messagerie ne peut pas être contacté.

Qui peut envoyer un message

Pour des raisons de sécurité, l'adresse de l'expéditeur d'un message doit être l'une des suivantes :

  • Le compte Gmail ou G Suite de l'utilisateur actuellement connecté
  • Une adresse e-mail sous la forme anything@[MY_PROJECT].appspotmail.com ou anything@[MY_PROJECT_ALIAS].appspotmail.com
  • Une adresse e-mail répertoriée dans la console GCP sous Expéditeurs autorisés pour l'API Email

Toutes les adresses e-mail de la liste des expéditeurs autorisés pour l'API Email doivent être des comptes valides hébergés sur des domaines Gmail ou Google. Les administrateurs d'applications peuvent ajouter les comptes suivants à la liste des expéditeurs autorisés :

  • Leur propre adresse e-mail
  • Tout groupe dont ils sont propriétaires ou gestionnaires
  • Les applications hébergées sur un domaine G Suite : noreply@[DOMAIN].com, tant que noreply@[DOMAIN].com est un compte valide (utilisateur ou groupe)

De plus, les administrateurs des domaines gérés par G Suite peuvent ajouter n'importe quel utilisateur de leur domaine à la liste des expéditeurs autorisés.

Vous êtes limité à 50 expéditeurs autorisés au maximum.

Envoyer des messages à partir de G Suite

Si vous souhaitez envoyer un e-mail à partir d'un domaine géré par G Suite, vous devez définir les enregistrements DNS SPF de votre domaine de façon à indiquer que Google est une source fiable pour votre messagerie. Pour obtenir des instructions sur la procédure à suivre, consultez Enregistrements SPF dans les articles d'aide de G Suite.

Notez que si vous utilisez des alias configurés pour votre domaine G Suite, vous ne pouvez pas envoyer d'e-mails à partir d'adresses e-mail qui emploient l'alias de domaine.

Notifications de non-distribution quand le message n'est pas remis

Les e-mails qui correspondent à une signature connue pour être à l'origine de spam, de virus ou d'autre contenu malveillant peuvent ne pas être acceptés pour distribution.

Si le service Mail ne parvient pas à remettre un message ou si le serveur de messagerie d'un destinataire renvoie un message de non-distribution (par exemple, s'il n'y a pas de compte pour cette adresse sur le système), un message d'erreur peut être envoyé par e-mail à l'adresse de l'expéditeur du message. L'application elle-même ne reçoit aucune notification quant au succès ou à l'échec de la distribution.

Par défaut, les notifications de non-distribution d'e-mail ne sont pas activées. Pour recevoir des notifications de non-distribution d’e-mail, vous devez configurer votre application. Pour plus de détails, voir Recevoir des notifications de non-distribution.

Service Mail et serveur de développement

Vous pouvez configurer le serveur de développement pour qu'il transmette des messages directement depuis votre ordinateur lorsque vous testez une fonctionnalité de votre application qui envoie des e-mails. Vous avez la possibilité de le paramétrer pour qu'il utilise le serveur SMTP de votre choix. Il est également possible de lui demander d'employer le service Sendmail si ce dernier est installé sur votre ordinateur et configuré pour l'envoi d'e-mails.

Si vous ne configurez pas de serveur SMTP ou si vous n'activez pas Sendmail, le serveur de développement consigne le contenu du message lorsque votre application appelle le service Mail. Le message n'est pas réellement envoyé.

Authentification à l'aide de la norme DKIM (DomainKeys Identified Mail)

Lorsque vous envoyez un e-mail, App Engine s'appuie sur la norme DKIM (DomainKeys Identified Mail) pour authentifier le domaine. Si votre application envoie des messages à partir d'une adresse e-mail faisant partie d'un domaine G Suite, App Engine peut signer de manière cryptographique les e-mails envoyés. Cette signature indique qu'un e-mail de emma@example.com provient réellement de example.com. Le destinataire peut alors vérifier cette signature qui, si elle est correcte, confirme que le domaine de l'expéditeur n'a pas été usurpé.

Afin d'activer l'authentification DKIM pour les messages envoyés depuis des adresses e-mail G Suite, suivez ces instructions du centre d'aide de G Suite. Notez que l'activation de l'authentification DKIM pour votre domaine G Suite peut prendre jusqu'à 48 heures.

Vous devez également vous assurer que votre application utilise un domaine personnalisé et correspond à votre domaine G Suite. Notez également que les domaines G Suite avec des sous-domaines tels que subdomain.example.com ne sont pas autorisés.

App Engine signe les e-mails sortants de l'application si l'adresse de l'expéditeur fait partie d'un domaine G Suite avec DKIM activé. En outre, l'adresse de l'expéditeur doit être mise en forme de sorte que la partie domaine de l'adresse e-mail ne soit composée que de lettres minuscules.

Quotas et limites

Pour voir l'utilisation actuelle du quota de votre application, accédez à la page de détails des quotas dans la console Google Cloud Platform.

Accéder à la page de détails des quotas

Chaque requête du service Mail est comptabilisée dans le quota des appels de l'API Mail. Il existe également des quotas pour le nombre de messages, le nombre de messages d'administrateur et la quantité de données et de pièces jointes que vous pouvez envoyer. Pour plus de détails, consultez la page Quotas de messagerie.

Le quota est réinitialisé quotidiennement. Si vous dépassez le quota quotidien, vous obtiendrez une exception de dépassement de quota. Si vous devez envoyer plus de messages que le quota ne le permet, vous pouvez utiliser un fournisseur de messagerie tiers, tel que SendGrid ou Mailgun.

Outre les quotas, les limites suivantes s'appliquent au service Mail :

Limite Volume
Taille maximale des e-mails sortants, pièces jointes comprises 31,5 Mo
Taille maximale des e-mails entrants, pièces jointes comprises 31 Mo
Taille maximale des messages à destination d'un administrateur 16 Ko
Nombre maximum d'expéditeurs autorisés 50

Étape suivante

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Environnement standard App Engine pour Python