Hi,
It seems that there is an issue with the submission service when the SMTP server advertises chunking (I use Exim v4.91). I tried this with Dovecot v2.3.3 and current master and could reproduce it with both versions.
My setup is that dovecot submission proxies to Exim on port 10025. The first mail gets through without any issues, but the second email will not get send. I had this issue at first with Apple Mail (it just sends a QUIT and shows an error) and could reproduce it with the OpenDMARC report perl script.
You can find a little Perl script attached to reproduce it. It seems to me that Dovecot sends an (unexpected or mixed up) second answer to the client. If I add a “$smtp->getline();” (line 110) sending multiple emails works again.
Another workaround is to disable CHUNKING in Exim (in this case only on the “proxy port”):
chunking_advertise_hosts = ${if eq{$received_port}{10025}{}{*}}
Thanks, Paul
Op 25/10/2018 om 09:53 schreef Paul Hecker:
Hi,
It seems that there is an issue with the submission service when the SMTP server advertises chunking (I use Exim v4.91). I tried this with Dovecot v2.3.3 and current master and could reproduce it with both versions.
My setup is that dovecot submission proxies to Exim on port 10025. The first mail gets through without any issues, but the second email will not get send. I had this issue at first with Apple Mail (it just sends a QUIT and shows an error) and could reproduce it with the OpenDMARC report perl script.
You can find a little Perl script attached to reproduce it. It seems to me that Dovecot sends an (unexpected or mixed up) second answer to the client. If I add a “$smtp->getline();” (line 110) sending multiple emails works again.
Another workaround is to disable CHUNKING in Exim (in this case only on the “proxy port”):
chunking_advertise_hosts = ${if eq{$received_port}{10025}{}{*}}
Thanks for this detailed bug report. I can reproduce it here. Working on a fix. FYI, it is more general than just CHUNKING: it relates to relaying multi-line replies.
Regards,
Stephan.
participants (2)
-
Paul Hecker
-
Stephan Bosch