On 2/3/2012 5:41 PM, Gedalya wrote:
On 02/03/2012 10:27 AM, Ralf Hildebrandt wrote:
* [email protected]<[email protected]>:
We are moving our inbound mail to use dovecot LMTP in the near future and we are looking for suggestions on how to implement a mysql based vacation
system.  If anyone has experience with this, good or bad please let us
know.
Why not use sieve?

I am facing a similar issue. It looks like sieve can't fetch data from a database, and dovecot can't fetch sieve scripts from a database. It would be useful to have, perhaps, only a global sieve script be able to query a DB, and it would be very useful to allow dovecot to fetch sieve scripts (actual scripts, not a file path) from a database. Any way to do this?


Retrieving whole scripts from a DB is nice, but not strictly necessary for your application. Indeed, only fetching data from a DB is sufficient. Unfortunately, there is no standard Sieve feature that allows fetching string data from external sources. However, Pigeonhole has a few custom features:

* Assuming you're using SQL, there is an experimental plugin for retrieval of external string data from a Dovecot dict lookup (there is no LDAP dict afaik):

    http://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Extdata

You can give that a look. Should also compile against Dovecot v2.1 and Pigeonhole v0.3.

* If you were using Dovecot v2.1 and Pigeonhole v0.3 (from hg) you could also tinker something with the new extprograms plugin (using the execute command):

   http://hg.rename-it.nl/pigeonhole-0.3-sieve-extprograms/

   For more info read:
   http://hg.rename-it.nl/pigeonhole-0.3-sieve-extprograms/file/tip/README
http://hg.rename-it.nl/pigeonhole-0.3-sieve-extprograms/file/tip/doc/rfc/spec-bosch-sieve-extprograms.txt

And, as you suggested, Pigeonhole v0.3 for Dovecot v2.1 can also restrict the use of these plugins to global scripts.

Regards,

Stephan.

Reply via email to