Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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
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.
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 visithttp://www.example.com/ and sign in using your Google Account toaccess 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 visithttp://www.example.com/ and sign in using your Google Account toaccess new features.Please let us know if you have any questions.The example.com Team"""message.send()
L'exemple suivant montre comment envoyer un message pour confirmer une adresse e-mail :
classUserSignupHandler(webapp2.RequestHandler):"""Serves the email address sign up form."""defpost(self):user_address=self.request.get('email_address')ifnotmail.is_email_valid(user_address):self.get()# Show the form again.else:confirmation_url=create_new_user_confirmation(user_address)sender_address=('Example.com Support <{}@appspot.gserviceaccount.com>'.format(app_identity.get_application_id()))subject='Confirm your registration'body="""Thank you for creating an account!Please confirm your email address by clicking on the link below:{}""".format(confirmation_url)mail.send_mail(sender_address,user_address,subject,body)
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/19 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/08/19 (UTC)."],[[["\u003cp\u003eThe mail API offers two methods for sending emails: the \u003ccode\u003email.send_mail()\u003c/code\u003e function and the \u003ccode\u003eEmailMessage\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eEmail sending is asynchronous, meaning the function or method returns immediately after sending the message data to the mail service, which then queues and attempts delivery.\u003c/p\u003e\n"],["\u003cp\u003eTo use this API you need to register your sender emails as authorized senders.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003email.send_mail()\u003c/code\u003e function takes email fields as parameters, whereas the \u003ccode\u003eEmailMessage\u003c/code\u003e class uses attributes of an instance to construct and send emails.\u003c/p\u003e\n"],["\u003cp\u003eThis API can only run in first-generation runtimes in the App Engine standard environment.\u003c/p\u003e\n"]]],[],null,["# Sending Mail\n\nThe mail API provides two ways to send an email message: the\n[`mail.send_mail()`](/appengine/docs/legacy/standard/python/refdocs/google.appengine.api.mail#google.appengine.api.mail.send_mail) function and the [`EmailMessage`](/appengine/docs/legacy/standard/python/refdocs/google.appengine.api.mail#google.appengine.api.mail.EmailMessage) class.\n| This page describes how to use the legacy bundled services and APIs. This API can only run in first-generation runtimes in the App Engine standard environment. If you are updating to the App Engine Python 3 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/python-differences) to learn about your migration options for legacy bundled services.\n\nSending is asynchronous: the `mail.send_mail()` function and the\n`EmailMessage.send()` method transmit the message data to the mail\nservice, then return. The mail service queues the message, then attempts to\nsend it, retrying if the destination mail server is unavailable. Errors and\nbounce messages are sent to the sender address for the email message.\n\nBefore you begin\n----------------\n\nYou must register your sender emails as authorized senders. For more\ninformation, see\n[who can send email](/appengine/docs/legacy/standard/python/mail#who_can_send_mail).\n\nSending mail with `mail.send_mail()`\n------------------------------------\n\nTo send mail using the [`mail.send_mail()`](/appengine/docs/legacy/standard/python/refdocs/google.appengine.api.mail#google.appengine.api.mail.send_mail) function, use the fields of the\nemail message as parameters, including the sender, the recipients, the subject\nand the body of the message. For example: \n\n mail.send_mail(sender=sender_address,\n to=\"Albert Johnson \u003cAlbert.Johnson@example.com\u003e\",\n subject=\"Your account has been approved\",\n body=\"\"\"Dear Albert:\n\n Your example.com account has been approved. You can now visit\n http://www.example.com/ and sign in using your Google Account to\n access new features.\n\n Please let us know if you have any questions.\n\n The example.com Team\n \"\"\")\n\nSending mail with `EmailMessage`\n--------------------------------\n\nTo send mail using objects with the\n[`EmailMessage`](/appengine/docs/legacy/standard/python/refdocs/google.appengine.api.mail#google.appengine.api.mail.EmailMessage) class, pass the fields of the email message to\nthe EmailMessage constructor and use attributes of the instance to update\nmessage.\n\nThe [`EmailMessage.send()`](/appengine/docs/legacy/standard/python/refdocs/modules/google/appengine/api/mail#EmailMessage) method sends the email message\nrepresented by the instance's attributes. An application can re-use an\n`EmailMessage` instance by modifying attributes and calling the `send()` method\nagain. \n\n message = mail.EmailMessage(\n sender=sender_address,\n subject=\"Your account has been approved\")\n\n message.to = \"Albert Johnson \u003cAlbert.Johnson@example.com\u003e\"\n message.body = \"\"\"Dear Albert:\n\n Your example.com account has been approved. You can now visit\n http://www.example.com/ and sign in using your Google Account to\n access new features.\n\n Please let us know if you have any questions.\n\n The example.com Team\n \"\"\"\n message.send()\n\nThe following example demonstrates sending a message to confirm an email\naddress: \n\n class UserSignupHandler(webapp2.RequestHandler):\n \"\"\"Serves the email address sign up form.\"\"\"\n\n def post(self):\n user_address = self.request.get('email_address')\n\n if not mail.is_email_valid(user_address):\n self.get() # Show the form again.\n else:\n confirmation_url = create_new_user_confirmation(user_address)\n sender_address = (\n 'Example.com Support \u003c{}@appspot.gserviceaccount.com\u003e'.format(\n app_identity.get_application_id()))\n subject = 'Confirm your registration'\n body = \"\"\"Thank you for creating an account!\n Please confirm your email address by clicking on the link below:\n\n {}\n \"\"\".format(confirmation_url)\n mail.send_mail(sender_address, user_address, subject, body)\n\nSending bulk mail\n-----------------\n\nSee the [Bulk mail guidelines](/appengine/docs/legacy/standard/python/mail/bulk-mail) for considerations around sending bulk\nemail."]]