Good day.
Exim 4.87 is shipped with a body line length check condition:
acl_check_data:
# Deny if the message contains an overlong line. Per the standards
# we should never receive one such via SMTP.
#
deny condition = ${if > {$max_received_linelength}{998}}
After upgrade I met two problems: 1. some malformed mails are rejected
(composed by MS Outlook 14, with more then 1000 chars in References:),
2. in my configuration bounces are sent through the same mail relay
and are blocked by this rule, because they include headers of the
original mail with oversized lines. So bounces are lost and my users
have no hints that their mails were dropped.
Certainly, Outlook is buggy. But the absence bounce is much worse,
regardless of its compliance to RFC. Moreover, there were no adequate
diagnostic message in logs. I think messages from <> should not be
checked for body line length, and propose this patch against 4.87:
------------------------------------------------------------------------
--- ./src/configure.default.orig 2016-04-02 22:24:15.000000000 +0300
+++ ./src/configure.default 2016-04-12 14:09:40.617384333 +0300
@@ -513,7 +513,11 @@
# Deny if the message contains an overlong line. Per the standards
# we should never receive one such via SMTP.
#
- deny condition = ${if > {$max_received_linelength}{998}}
+ deny
+ !senders = :
+ message = Maximum body line length is $max_received_linelength \
+ (over 998 chars limit), message rejected.
+ condition = ${if > {$max_received_linelength}{998}}
# Deny if the message contains a virus. Before enabling this check, you
# must install a virus scanner and set the av_scanner option above.
------------------------------------------------------------------------
Thanks.
--
Eugene Berdnikov
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim
details at http://www.exim.org/ ##