It seems Exim has a default limit of 998 characters per RFC on SMTP sending transport. If this is violated the message is rejected. I agree with the limit, but trying to find a way to "fix" broken senders.

An optimal way may be to have an option in Exim to "wrap" lines longer than X. I know there is an argument on not doing this. I guess a transport_filter could do this, but would run into the same issue described below..

A "workaround" for this was to pipe the message through a transport_filter to just truncate lines longer than 998. Again, not optimal, but need a fix to send these messages out without dropping them completely.

I was able to do this with the below..

remote_smtp:
  driver = smtp
  transport_filter = /usr/bin/cut -c1-998


But it appears Exim enforces message_linelength_limit BEFORE the transport_filter, not after. Should the order of operation be changed to do this check AFTER the transport_filter?

The only workaround was to do something like:

remote_smtp:
  driver = smtp
  message_linelength_limit = 1M
  transport_filter = /usr/bin/cut -c1-998



Not a big deal, it works. Just wondering if the linelength check should come after the filter and not before ...

--
inoc.net!rblayzor
XMPP: rblayzor.AT.inoc.net
PGP:  https://pgp.inoc.net/rblayzor/

--
## subscription configuration (requires account):
##   https://lists.exim.org/mailman3/postorius/lists/exim-dev.lists.exim.org/
## unsubscribe (doesn't require an account):
##   [email protected]
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to