While it's usually appropriate to assume I'm ignorant, naive, or generally speaking out of my @ss, I'm afraid the responses I've received don't answer the question I asked. I do understand how the MUA talks to the MTA and the whole SMTP/IMAP thing. I rambled a little bit just in case someone came up with a better solution for the double transmit scenario - but that wasn't the question.
The question: can Dovecot be configured to support sieve filters on IMAP (not just SMTP) operations (Eduardo helped me here - so I'll specifically ask about the APPEND command). no, you can't ..and even if it will be implemented on server side.. Do you new any IMAP client supporting such behavior? As far as I know
Daniel L. Miller wrote: there is no such IMAP clients...
Failing that, can some specific operation subsets of sieve be supported on a cron-like basis? My understanding is that operations involving indexes are extremely fast - and that things like sender/recipient are included in the indexes. So filters based on sender/recipient might be possible? hmm... in theory it is possible:
- you must use maildir
- configure con to run dovecot's deliver ; you my use alternate configuration file providing different sieve setup. To speed up things use -p option; As alternative to ordinary con you my use incron - inotify kernel api based "con" to catch message creation events. ...few lines of bash scripting and this my work.
Some time ago I used similar setup.. but old Outlook clients simply crush when message "disappear".
"I disagree about "violating" the protocol. [...] the client would still receive an "OK" at the end. [...] I don't see how this violates the protocol - though I do agree it would be quite confusing for someone who wasn't aware of this behavior."
First of all it will confuse IMAP client software. Many clients don't simply trust server side "OK", they verifies this, updates their indexes after "Scesseful APPEND" without FETCH etc. Every client expects to see message where it is saved. At last immediately after save.You may:
- got an error ...
- run into endless loop of attempts to save message into folder.
- some clients my even crush.
Besides this, such behavior will led to problems with CATENATE extension to APPEND.
The CATENATE extension to the Internet Message Access Protocol (IMAP) extends the APPEND command to allow clients to create messages on the IMAP server that may contain a combination of new data along with parts of (or entire) messages already on the server.
http://tools.ietf.org/html/rfc4469
Uldis