[Dovecot] LDA vs maildrop... LDA *and* maildrop?
We're considering a move from Courier to Dovecot. So far, looks like it's not too bad, but the most challenging obstacle is what to do about our local delivery. Factors:
- we use a lot of maildrop "features" that are impossible in sieve
without piping to an external program (would rather not re-write our working maildrop scripts in another language)
would love to try dbox
we use IMAP/Maildir++ quotas (looks like with a little finesse it's possible to get maildrop and dovecot to play nice on this account, yes?)
I saw it suggested to just call LDA from maildrop for any maildrop "to" commands (hmmm, what about "cc"?) here:
http://article.gmane.org/gmane.mail.imap.dovecot/56120
How much overhead will this take? Would it be possible or advisable to use LMTP instead if that would help? Is this idea just too crazy?
We're considering a move from Courier to Dovecot. So far, looks like
it's not too bad, but the most challenging obstacle is what to do about our local delivery. Factors:
- we use a lot of maildrop "features" that are impossible in sieve
without piping to an external program (would rather not re-write our working maildrop scripts in another language)
would love to try dbox
we use IMAP/Maildir++ quotas (looks like with a little finesse it's possible to get maildrop and dovecot to play nice on this account, yes?)
I saw it suggested to just call LDA from maildrop for any maildrop "to" commands (hmmm, what about "cc"?) here:
http://article.gmane.org/gmane.mail.imap.dovecot/56120
How much overhead will this take? Would it be possible or advisable to use LMTP instead if that would help? Is this idea just too crazy?
Oh, doing this would also have benefit of updating dovecot indexes upon delivery, and we could ignore point 3 about the quotas and just let dovecot handle deliver time quotas too right? (remove quota support from maildrop)
Also saw a suggestion to do it a little different:
http://article.gmane.org/gmane.mail.imap.dovecot/44897
So maildrop
to "| foo" to "! foo@bar.com" cc "| foo" cc "! foo@bar.com"
are left as is
then
to "<mailbox name>"
is replaced with either:
xfilter "/usr/lib/dovecot/dovecot-lda -m <mailbox name>" to "| /dev/null"
or just:
to "| /usr/lib/dovecot/dovecot-lda -m <mailbox name>"
and
cc "<mailbox name>"
is replaced with either:
xfilter "/usr/lib/dovecot/dovecot-lda -m <mailbox name>"
or just:
cc "| /usr/lib/dovecot/dovecot-lda -m <mailbox name>"
and the default end-of-script (INBOX) delivery for maildrop (an assumed "to 'INBOX'" command) can probably be replaced with one or the other of:
xfilter "/usr/lib/dovecot/dovecot-lda" to "| /dev/null"
or:
to "| /usr/lib/dovecot/dovecot-lda"
Does any of this make sense? I wonder how it will look to the MTA (postfix here) when delivery fails. It's also creating duplicate user lookups for the two delivery agents which isn't great.
Maybe it'd be better to consider learning how to re-write our needed maildrop scripts as shell scripts (maildrop is close enough to bash I guess) and making sieve pipe out to them?
- email builder emailbuilder88@yahoo.com:
- we use a lot of maildrop "features" that are impossible in sieve
We're calling deliver from maildropc
- would love to try dbox
For that you'd need to call deliver from maildropc
- we use IMAP/Maildir++ quotas (looks like with a little finesse it's possible to get maildrop and dovecot to play nice on this account, yes?)
deliver/dovecot is handling Maildir++ quotas just fine.
How much overhead will this take? Would it be possible or advisable to use LMTP instead if that would help? Is this idea just too crazy?
does maildrop speak LMTP?
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
- we use a lot of maildrop "features" that are impossible in
sieve
We're calling deliver from maildropc
Ah, so this is actually sane enough of an idea that someone really uses it? Is the performance reasonable? Bounces or deferred mail all work as expected? What syntax did you use to replace to/cc with calls to LDA?
- would love to try dbox
For that you'd need to call deliver from maildropc
I take it you didn't try this
- we use IMAP/Maildir++ quotas (looks like with a little finesse it's possible to get maildrop and dovecot to play nice on this account, yes?)
deliver/dovecot is handling Maildir++ quotas just fine.
But if you call dovecot LDA you're not limited to Maildir++ quotas, right? You can strip quota support out of maildrop and just let dovecot LDA and dovecot IMAP enforce quotas which keeps things more simple, no?
How much overhead will this take? Would it be possible or advisable to use LMTP instead if that would help? Is this idea just too crazy?
does maildrop speak LMTP?
Good point
- email builder emailbuilder88@yahoo.com:
- we use a lot of maildrop "features" that are impossible in
sieve
We're calling deliver from maildropc
Ah, so this is actually sane enough of an idea that someone really uses it? Is the performance reasonable? Bounces or deferred mail all work as expected? What syntax did you use to replace to/cc with calls to LDA?
I'll send you my /etc/maildroprc it's working OK. I'm using deliver where I can, only a few things are done by maildrop/mailbot
- would love to try dbox
For that you'd need to call deliver from maildropc
I take it you didn't try this
Exactly.
- we use IMAP/Maildir++ quotas (looks like with a little finesse it's possible to get maildrop and dovecot to play nice on this account, yes?)
deliver/dovecot is handling Maildir++ quotas just fine.
But if you call dovecot LDA you're not limited to Maildir++ quotas, right?
Correct.
You can strip quota support out of maildrop and just let dovecot LDA and dovecot IMAP enforce quotas which keeps things more simple, no?
Since I'm delegating all delivery to deliver, except for pipes, I'm using the quota facilities of deliver/dovecot
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
participants (2)
-
email builder
-
Ralf Hildebrandt