smtpsrv: Keep reading DATA input even if it's too large

When the DATA input is too large, we should keep on reading through it
until we reach the end marker, otherwise there is a security problem:
the remaining data will be interpreted as SMTP commands, so for example
a forwarded message that is too long might end up executing SMTP
commands under an authenticated user.

This patch implements this behaviour, while being careful not to consume
extra memory to avoid opening up the possibility of a DoS.

Note the equivalent logic for single long lines is already implemented.
3 jobs for next in 8 minutes and 23 seconds (queued for 1 second)
Status Job ID Name Coverage
  Test
passed #368654786
integration_test

00:05:06

passed #368654788
integration_test_latest

00:05:02

 
  Docker Image
passed #368654791
image_build

00:03:17