Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Si deseas recibir notificaciones de rebote de correo electrónico, necesitas configurar tu app para habilitar las notificaciones por correo electrónico y crear un controlador que las administre.
Configura tu app para recibir notificaciones de rebote
La configuración tiene dos partes. En primer lugar, tienes que habilitar las notificaciones. En segundo lugar, debes establecer la asignación entre /_ah/bounce y tu controlador de rebote, para que App Engine sepa dónde enviar como POST los datos de las notificaciones. Para configurar tu app de modo que puedas recibir notificaciones de rebote por correo electrónico, sigue estos pasos:
Agrega lo siguiente a tu archivo app.yaml para habilitar las notificaciones:
inbound_services:-mail_bounce
También en app.yaml, declara una asignación entre /_ah/bounce y el controlador de notificaciones de rebote en tu código, por ejemplo:
Una notificación de rebote es un mensaje automático enviado por un sistema de correo electrónico donde se informa que ha habido un problema con la entrega del mensaje. En tu aplicación, tendrás que crear un código de controlador de rebote para recibir y procesar estas notificaciones.
Una forma de escribir un controlador de rebote es usar la clase de conveniencia BounceNotificationHandler. Si eliges esta opción, deberás anular su método receive(), al que se llama con un argumento de la clase BounceNotification. Por más que no uses la clase de conveniencia BounceNotificationHandler, debes usar BounceNotification para analizar las notificaciones de rebote.
Tanto BounceNotificationHandler como BounceNotification se encuentran en el paquete google.appengine.ext.webapp.mail_handlers.
A continuación, puedes ver una muestra de controlador de rebote que usa la clase de conveniencia BounceNotificationHandler:
classLogBounceHandler(BounceNotificationHandler):defreceive(self,bounce_message):logging.info('Received bounce post ... [%s]',self.request)logging.info('Bounce original: %s',bounce_message.original)logging.info('Bounce notification: %s',bounce_message.notification)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eThis content describes how to configure an app to receive email bounce notifications using legacy bundled services and APIs in the first-generation App Engine standard environment.\u003c/p\u003e\n"],["\u003cp\u003eTo receive bounce notifications, you must enable the \u003ccode\u003email_bounce\u003c/code\u003e inbound service in your \u003ccode\u003eapp.yaml\u003c/code\u003e file.\u003c/p\u003e\n"],["\u003cp\u003eYou must also define a mapping in your \u003ccode\u003eapp.yaml\u003c/code\u003e file between the \u003ccode\u003e/_ah/bounce\u003c/code\u003e URL and your bounce notification handler.\u003c/p\u003e\n"],["\u003cp\u003eA bounce handler is needed to process the bounce notifications, which can be done using the \u003ccode\u003eBounceNotificationHandler\u003c/code\u003e or directly with the \u003ccode\u003eBounceNotification\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eBoth the \u003ccode\u003eBounceNotificationHandler\u003c/code\u003e and \u003ccode\u003eBounceNotification\u003c/code\u003e classes are located within the \u003ccode\u003egoogle.appengine.ext.webapp.mail_handlers\u003c/code\u003e package.\u003c/p\u003e\n"]]],[],null,["# Receiving Bounce Notification\n\nIn order to receive email bounce notifications, you need to configure\nyour app to enable email notification and you need to create a handler\nto handle those notifications.\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\nConfiguring Your App to Receive Bounce\nNotifications\n----------------------------------------------------\n\nThere are two parts to the configuration. First, you need to enable\nnotification. Second, you need to set the mapping between\n`/_ah/bounce` and your bounce handler, so App Engine knows where to\nPOST the notification data. To configure your app to receive bounced email\nnotifications:\n\n1. Add the following to your `app.yaml` file to enable notification: \n\n ```python\n inbound_services:\n - mail_bounce\n ```\n2. Also in `app.yaml`, declare a mapping between `/_ah/bounce` and the bounce notification handler in your code, for example: \n\n - url: /_ah/bounce\n script: handle_bounced_email.app\n login: admin\n\nHandling Bounce Notifications\n-----------------------------\n\nA [bounce notification](http://en.wikipedia.org/wiki/Bounce_message) is an\nautomated message from an email system that there's been a problem with message\ndelivery. In your app, you'll need to create bounce handler code to receive and\nprocess these notifications.\n\nOne way to write a bounce handler is to use the\n[BounceNotificationHandler](/appengine/docs/legacy/standard/python/refdocs/google.appengine.ext.webapp.mail_handlers#google.appengine.ext.webapp.mail_handlers.BounceNotificationHandler)\nconvenience class. If you go this route, you'll need to override its\n`receive()` method, which is called with an\nargument of the\n[BounceNotification](/appengine/docs/legacy/standard/python/refdocs/google.appengine.ext.webapp.mail_handlers#google.appengine.ext.webapp.mail_handlers.BounceNotification)\nclass. Whether you use the `BounceNotificationHandler` convenience class\nor not, you do need to use `BounceNotification` to parse the bounce\nnotifications.\n\nBoth `BounceNotificationHandler` and `BounceNotification`\nare in the `google.appengine.ext.webapp.mail_handlers` package.\n\nHere is a sample bounce handler that uses the\n`BounceNotificationHandler` convenience class: \n\n class LogBounceHandler(BounceNotificationHandler):\n def receive(self, bounce_message):\n logging.info('Received bounce post ... [%s]', self.request)\n logging.info('Bounce original: %s', bounce_message.original)\n logging.info('Bounce notification: %s', bounce_message.notification)"]]