Hi all. I spent some time testing Dovecot's LDA sieve plugin and found problem with "notify" method. In fact it always returns "generic sieve error"... and thus produces bounce messages like this: ----- Your message was automatically rejected by Dovecot Mail Delivery Agent. The following reason was given: Unknown error ---- Deliver logs error: "generic sieve error", but otherwise server reports "notify" method as supported. The problem is: original code was taken from curys sieve and requires "notifyd", as sieve runs 'chrooted' and can't access external binaries like "sendmail". communications with notifyd is done via socket. Thus I wrote pacth, which ads "notify" functionality to dovecot's sieve plugin, at less "notify:mailto" method. cyrus originally contains null, log and zephyr methods. null and log is useless with dovecot, zephur is cyrus specific... RFC docs says there is 3 available methods SMS, XMPP and MAILTO: ------ method can be an SMS URI [SMS-URI <http://ietfreport.isoc.org/idref/draft-ietf-sieve-notify/#ref-SMS-URI>] containing a phone number, or an XMPP [XMPP <http://ietfreport.isoc.org/idref/draft-ietf-sieve-notify/#ref-XMPP>] URI containing an XMPP identifier [XMPP-URI <http://ietfreport.isoc.org/idref/draft-ietf-sieve-notify/#ref-XMPP-URI>] The supported URI values will be site-specific, but support for the [MailTo <http://ietfreport.isoc.org/idref/draft-ietf-sieve-notify/#ref-MailTo>] method is REQUIRED in order to insure interoperability. If a URI schema is specified that the implementation does not support, the notification MUST cause an error condition. Sieve scripts can check the supported methods using the "valid_notify_method" test to be sure that they only use supported ones, to avoid such error conditions. ------ as SMS-URI and XMPP methods are not included in cyrus sieve version, they are not available in dovecots plugin too. [any ideas, sample code how to implement them?] BUT... WARNING All this will not work if you have "mail_chroot" setting enabled in dovecot.conf; chrooted process can't access required external binaries. DOT USE THIS PLUGIN WITH "mail_chroot" SENTIG ENABLED! Actualy it is not sieve plugin problem only - its LDA problem... it can't send bonce messages, do forwards etc. Question to Timo: Do You have ideas how to fix it? My be disable chroting for LDA at all? or do it "cyrus way" - move all calls to external binaries to sepreate, non chrooted process? For delivery agent it is requred to be able send bounces and notifications... do forwards. Uldis -------------- next part -------------- A non-text attachment was scrubbed... Name: notify_patch.diff Type: text/x-patch Size: 2556 bytes Desc: not available URL: <http://dovecot.org/pipermail/dovecot/attachments/20070413/496d04d1/attachment-0002.bin>