We've noticed this issue too. I also noticed that the bounce messages are now coming in as `quoted-printable` encoded (notice for example the mime boundaries are `; boundary=3DXXXXX`). This must have changed recently.
If you have access to the payload before it is passed through to BounceNotification, you can decoding the incoming payload raw-message as `quoted-printable` to temporarily fix the issue This has happened in the past with blobstore POSTs (that started using `quoted-printable`), see https://code.google.com/p/googleappengine/issues/detail?id=10109 On Wednesday, January 18, 2017 at 5:13:00 PM UTC-5, johnP wrote: > > 24 hours ago started getting constant errors - it's not even hitting my > code... > > 'str' object has no attribute 'get_payload' > Traceback (most recent call last): > File > "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", > line 1535, in __call__ > rv = self.handle_exception(request, response, e) > File > "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", > line 1529, in __call__ > rv = self.router.dispatch(request, response) > File > "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", > line 1278, in default_dispatcher > return route.handler_adapter(request, response) > File > "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", > line 1102, in __call__ > return handler.dispatch() > File > "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", > line 572, in dispatch > return self.handle_exception(e, self.app.debug) > File > "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", > line 570, in dispatch > return method(*args, **kwargs) > File > "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/webapp/mail_handlers.py", > line 114, in post > self.receive(BounceNotification(self.request.POST)) > File > "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/webapp/mail_handlers.py", > line 168, in __init__ > post_vars.get('raw-message', '')) > File > "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/mail.py", > line 939, in __init__ > self.update_from_mime_message(mime_message) > File > "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/mail.py", > line 1513, in update_from_mime_message > super(InboundEmailMessage, self).update_from_mime_message(mime_message) > File > "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/mail.py", > line 1422, in update_from_mime_message > super(EmailMessage, self).update_from_mime_message(mime_message) > File > "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/mail.py", > line 1295, in update_from_mime_message > self._update_payload(mime_message) > File > "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/mail.py", > line 1228, in _update_payload > self._update_payload(alternative) > File > "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/mail.py", > line 1223, in _update_payload > payload = mime_message.get_payload() > AttributeError: 'str' object has no attribute 'get_payload' > > > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/67db25d0-154d-4e5a-9a14-01b5df76d20d%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
