Dovecot submission announces CHUNKING but backend Postfix does not support it

Stephan Bosch stephan at rename-it.nl
Thu Sep 20 23:24:04 EEST 2018



Op 20/09/2018 om 13:39 schreef Michael Goth:
> On 09/20/2018 12:56 PM, Robert Schetterer wrote:
>> Am 20.09.2018 um 11:04 schrieb Michael Goth:
>>> Hello,
>>>
>>> I'm setting up Dovecot 2.3.2.1 as a submission proxy to a Postfix 
>>> backend server. Dovecot announces CHUNKING, but the Postfix backend 
>>> does not support (or announce) it.
>>>
>>> HELO from Postfix:
>>>
>>>    220 backend.mydomain.com ESMTP Postfix (Ubuntu)
>>>    ehlo test
>>>    250-backend.mydomain.com
>>>    250-PIPELINING
>>>    250-SIZE 104857600
>>>    250-VRFY
>>>    250-ETRN
>>>    250-STARTTLS
>>>    250-ENHANCEDSTATUSCODES
>>>    250-8BITMIME
>>>    250 DSN
>>>
>>>
>>> HELO from Dovecot proxy:
>>>
>>>    220 proxy.mydomain.com Dovecot ready.
>>>    ehlo test
>>>    250-proxy.mydomain.com
>>>    250-8BITMIME
>>>    250-AUTH PLAIN LOGIN
>>>    250-BURL imap
>>>    250-CHUNKING
>>>    250-ENHANCEDSTATUSCODES
>>>    250-SIZE
>>>    250-STARTTLS
>>>    250 PIPELINING
>>>
>>>
>>> When a client sends BDAT, Postfix closes the connection. Here's a 
>>> log snippet from Postfix:
>>>
>>>    < MAIL FROM:<user at mydomain.com>
>>>    > 250 2.1.0 Ok
>>>    < RCPT TO:<some at recipient.com>
>>>    > 250 2.1.5 Ok
>>>    < BDAT 114098 LAST
>>>    > 502 5.5.2 Error: command not recognized
>>>    < Content-Type: multipart/alternative; 
>>> boundary=Apple-Mail-55D35F74-2EB7-4B3B-A607-E421DD71C07A
>>>    > 221 2.7.0 Error: I can break rules, too. Goodbye.
>>>
>>>
>>> Apple Mail seems to ignore the fact that Postfix does not understand 
>>> BDAT and Postfix does not like that :-)
>>>
>>>
>>>  From a quick glance at the code it seems CHUNKING is always added 
>>> to the capabilities and that's not configurable. Is this a bug or am 
>>> I doing something wrong?
>>>
>>>
>>> Thanks,
>>>
>>>   Michael
>>
>> that "may" version depend
>>
>> http://www.postfix.org/features.html
>> ...
>> Postfix 3.4     SMTP server support for RFC 3030 CHUNKING (without 
>> BINARYMIME).
>> ...
>>
>
> As far as I understand, Dovecot always adds certain capabilities. This 
> is the responsible code (I think):
>
> https://github.com/dovecot/core/blob/c8d03c3cab68328947a5afb47f48aef5b5a1e4ab/src/submission/submission-client.c#L95 
>

Dovecot adds the capability to the server side (facing the client), but 
not on the proxy client side (facing Postfix). If Postfix doesn't 
support CHUNKING, Dovecot will translate between BDAT from client and 
DATA towards Postfix. That's the way it is supposed to work anyway. I 
cannot reproduce your problem here with a quick test.

Can you enable mail_debug=yes (e.g. for that particular user) and show 
me the debug log of the proxy activity?

The output from `dovecot -n` would also be helpful.

Regards,

Stephan.




More information about the dovecot mailing list