Envoyer des messages avec l'API Mail

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

L'API Mail permet d'envoyer un e-mail selon deux méthodes : la fonction mail.send_mail() et la classe EmailMessage.

L'envoi est asynchrone : la fonction mail.send_mail() et la méthode EmailMessage.send() transmettent les données du message au service de messagerie, puis affichent le résultat. Le service de messagerie met le message en file d'attente, puis tente de l'envoyer. Si le serveur de messagerie de destination est indisponible, il effectue une nouvelle tentative. Les erreurs et les messages d'erreur automatiques sont envoyés à l'adresse d'expédition de l'e-mail.

Avant de commencer

Enregistrez vos adresses e-mail d'expéditeur en tant qu'expéditeurs autorisés. Pour obtenir plus d'informations, consultez la section Utilisateurs autorisés à envoyer des e-mails.

Envoyer un e-mail avec mail.send_mail()

Pour envoyer un e-mail à l'aide de la fonction mail.send_mail(), transmettez les champs de cet e-mail en tant que paramètres, y compris l'expéditeur, les destinataires, l'objet et le corps du message. Exemple :

    mail.send_mail(sender=sender_address,
                   to="Albert Johnson <Albert.Johnson@example.com>",
                   subject="Your account has been approved",
                   body="""Dear Albert:

Your example.com account has been approved.  You can now visit
http://www.example.com/ and sign in using your Google Account to
access new features.

Please let us know if you have any questions.

The example.com Team
""")

Envoyer un e-mail avec EmailMessage

Pour envoyer un e-mail à l'aide d'objets dotés de la classe EmailMessage, transmettez les champs de cet e-mail au constructeur EmailMessage et mettez à jour le message à l'aide des attributs de l'instance.

La méthode EmailMessage.send() envoie l'e-mail représenté par les attributs de l'instance. Une application peut réutiliser une instance EmailMessage en modifiant les attributs, puis en rappelant la méthode send().

    message = mail.EmailMessage(
        sender=sender_address,
        subject="Your account has been approved")

    message.to = "Albert Johnson <Albert.Johnson@example.com>"
    message.body = """Dear Albert:

Your example.com account has been approved.  You can now visit
http://www.example.com/ and sign in using your Google Account to
access new features.

Please let us know if you have any questions.

The example.com Team
"""
    message.send()

Envoyer des e-mails en masse

Pour en savoir plus sur l'envoi d'e-mails en masse, consultez la page Consignes sur les messages en masse.

Pour en savoir plus sur les migrations pour l'API Mail, consultez le guide sur les gestionnaires de messagerie.