Add support for aborting sink (SMTP, LMTP, MDA) transactions
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=541440 - basically if we do not receive a complete message on input, we should try to abort the output (either kill the listening MDA, or close the output socket on SMTP/LMTP).
Postfix as listener would, for instance, report
postfix/smtpd[1478518]: lost connection after DATA (104 bytes) from localhost[::1]
postfix/smtpd[1478518]: disconnect from localhost[::1] ehlo=1 mail=1 rcpt=1 data=0/1 commands=3/4
The use case/intent is to avoid incomplete messages that we will check.
Open point: should this be configurable so that users can work around flawed noncompliant servers that would delete a message after retrieval attempt, or will we let users suffer so that they exert pressure on their service provider?
Edited by Matthias Andree