[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dovecot
Subject:    Re: Dovecot submission announces CHUNKING but backend Postfix does not support it
From:       Michael Goth <mg () webflow ! de>
Date:       2018-09-28 8:46:54
Message-ID: 35c8c2e8-3439-26a5-60e3-5f57e2edbe53 () webflow ! de
[Download RAW message or body]

On 09/20/2018 10:24 PM, Stephan Bosch wrote:
> 
> 
> 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@mydomain.com>
> > > > > 250 2.1.0 Ok
> > > > < RCPT TO:<some@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.
> 

I think I found the problem:

I am not using the submission_* config directives to configure the relay 
SMTP server.
Instead, I'm using Dovecot's proxy feature for selecting a backend 
server based on the user's authentication. The submission_* directives 
are all unset.

When using the submission_* directives, Dovecot translates from BDAT to 
DATA. With my configuration, it seems to just relay all the commands to 
the backend server.

Now that I think about it, I'm not sure what dovecot can do in this 
case. It doesn't really know the supported capabilities until the user 
authenticates themself.


Regards,
   Michael


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic