diff --git a/modules/inbound_email/CHANGELOG b/modules/inbound_email/CHANGELOG index a9b0756a09..3808f6a3be 100644 --- a/modules/inbound_email/CHANGELOG +++ b/modules/inbound_email/CHANGELOG @@ -1,3 +1,4 @@ +* Add configuration for maximum size of inbound email request Version 7.2.0 - 2024-04-29 -------------------------- diff --git a/modules/inbound_email/doc/configuration.rst b/modules/inbound_email/doc/configuration.rst index d13e31fc2c..e8ddfe7c36 100644 --- a/modules/inbound_email/doc/configuration.rst +++ b/modules/inbound_email/doc/configuration.rst @@ -24,3 +24,12 @@ The ``store_prefix`` contains the prefix to use with the :ref:`FileStore `. The default value is: ``None`` + +.. _config-inboud_email.max_size: + +``max_size`` +============ + +The maximum size in bytes of the inbound email request (zero means no limit). + +The default value is: `trytond:config-request.max_size` diff --git a/modules/inbound_email/routes.py b/modules/inbound_email/routes.py index 9bcd72851a..2deb781b36 100644 --- a/modules/inbound_email/routes.py +++ b/modules/inbound_email/routes.py @@ -3,13 +3,18 @@ import json +from trytond.config import config from trytond.protocols.wrappers import ( - HTTPStatus, Response, abort, with_pool, with_transaction) + HTTPStatus, Response, abort, set_max_request_size, with_pool, + with_transaction) from trytond.wsgi import app @app.route( '//inbound_email/inbox/', methods={'POST'}) +@set_max_request_size(config.getint( + 'inbound_email', 'max_size', + default=config.getint('request', 'max_size'))) @with_pool @with_transaction() def inbound_email(request, pool, identifier):