Hi,

I have thought a while, if I can ask that here, but as it just is a technical 
question, I hope you understand that I am just interested to understand 
something and not to make another feature request. So with respect to your time:

As an example, we have smtpd_proxy_filter. From my understanding that receives 
a mail and hands it over to a real time content filter that should be designed 
to return the mail afterwards back into postfix. I guess that is, because of 
cleanup, trivial-rewrite and qmgr and stuff.

As more and more system are not the final destination in terms of moving a 
received mail directly into a Maildir folder or calling procmail/maildrop, they 
use LMTP to connect to Cyrus or Dovecot (simplified spoken). So the mail is 
received and cleanup/trivial-rewrite, qmgr are doing their jobs. After that 
LMTP is called and Postfix tries to "relay" it over to i.e. Dovecot, which 
might have sieve active or quota. In both cases it could be a problem, if 
Dovecot rejects the mail (not temp failures).

I hope my understanding was right so far.

Would it technically possible to have a smtpd_to_lmtp_proxy option (or however 
it could be called), that would receive on smtpd and open a connection to its 
LMTP server, doing cleanup and Co. in memory and wait for the result of the 
LMTP server? If the LMTP process gets 250 OK, postfix would give that back to 
the client. Else closing the session with error status code received from the 
LMTP server.

RFC2033:

…
3.  Introduction and Overview
…
   This queuing requirement is beneficial in the situation for which
   SMTP was originally designed: store-and-forward relay of mail between
   networked hosts.  In some limited situations, it is desirable to have
   a server which does not manage a queue, instead relying on the client
   to perform queue management.  As an example, consider a hypothetical
   host with a mail system designed as follows:
… 

Positive aspects:

- sieve reject being no problem
- over quota bounce
- speed

If I understood LMTP correctly, we would have a problem with recipients that 
produce a failure. How would the SMTP session behave? I don't know, how Postfix 
is doing this at the moment.

Furthermore using some kind of smtpd_to_lmtp_proxy would mean not to use qmgr, 
as we would not queue the mail on persistent storage. Is that right?

I am far away from being an postfix expert, so this is just trivial thinking 
about something that might be extremely complex to accomplish. And I am always 
willing to learn and to understand :)

Thanks for reading. And thanks in advance for an answer.

Kind regards

-Christian Rößner

--
[*] sys4 AG

http://sys4.de, +49 (89) 30 90 46 64
Franziskanerstraße 15, 81669 München

Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263
Vorstand: Patrick Ben Koetter, Axel von der Ohe, Marc Schiffbauer
Aufsichtsratsvorsitzender: Joerg Heidrich

Reply via email to