[Dovecot] Sieve Vacation cause deliver to die
When a user enable vacation in sieve deliver die and the mail lost. I am using 1.0.3
Thanks
in syslog postfix/pipe[16060]: 8E33017D4: to=vivi@abc.com.hk, relay=dovecot, delay=0.17, delays=0.13/0.01/0/0.03, dsn=5.3.0, status=bounced (Command died with signal 11: "/usr/libexec/dovecot/deliver")
.dovecot.sieve
# Sieve Filter # Generated by Ingo (http://www.horde.org/ingo/) (August 6, 2007, 9:56 am)
require ["vacation", "fileinto"];
# Whitelisted Addresses if address :all :comparator "i;ascii-casemap" :is ["From", "Sender", "Resent-From"] "juscotsushin@juscocityhk.com" { keep; stop; }
# Vacation if allof ( not exists ["list-help", "list-unsubscribe", "list-subscribe", "list-owner", "list-post", "list-archive", "list-id"], not header :comparator "i;ascii-casemap" :is "Precedence" "list,bulk" ) { vacation :days 7 :addresses "vivi@abc.com.hk" :subject "Autoreply : OUT OF OFFICE" "I will not be in Hong Kong from August 6-11. While I will check my mailbox from time to time, I may respond with some delay.
Regards,
Vivi"; }
# Blacklisted Addresses if address :all :comparator "i;ascii-casemap" :is ["From", "Sender", "Resent-From"] ["store-news@amazon.com", "uschinaasset@aol.com", "janvqvogel@bible.org", "info@bichk.net", "anmhk@biznetvigator.com"] { discard; stop; }
# dspam if header :comparator "i;ascii-casemap" :contains "X-DSPAM-Result" "Spam" { fileinto "INBOX.Spam"; }
mail / # dovecot -n # 1.0.3: /etc/dovecot/dovecot.conf protocols: imap imaps pop3 pop3s ssl_cert_file: /etc/ssl/dovecot/server.pem ssl_key_file: /etc/ssl/dovecot/server.key disable_plaintext_auth: no login_dir: /var/run/dovecot/login login_executable(default): /usr/libexec/dovecot/imap-login login_executable(imap): /usr/libexec/dovecot/imap-login login_executable(pop3): /usr/libexec/dovecot/pop3-login last_valid_uid: 500 first_valid_gid: 500 last_valid_gid: 500 mail_location: maildir:/home/mail/%d/%n mail_executable(default): /usr/libexec/dovecot/imap mail_executable(imap): /usr/libexec/dovecot/imap mail_executable(pop3): /usr/libexec/dovecot/pop3 mail_plugins(default): quota imap_quota dspam mail_plugins(imap): quota imap_quota dspam mail_plugins(pop3): quota mail_plugin_dir(default): /usr/lib/dovecot/imap mail_plugin_dir(imap): /usr/lib/dovecot/imap mail_plugin_dir(pop3): /usr/lib/dovecot/pop3 pop3_uidl_format(default): pop3_uidl_format(imap): pop3_uidl_format(pop3): %08Xu%08Xv auth default: mechanisms: plain login passdb: driver: sql args: /etc/dovecot/dovecot-sql.conf userdb: driver: sql args: /etc/dovecot/dovecot-sql.conf socket: type: listen client: path: /var/spool/postfix/private/auth mode: 384 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vmail group: vmail plugin: quota: maildir trash: /etc/dovecot/dovecot-trash.conf
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Sat, 11 Aug 2007, M1 wrote:
When a user enable vacation in sieve deliver die and the mail lost.
The script is fine and is working for me, but I'm using v1.0.1 currently.
I had some problems with core dumps some time ago, because Dovecot deliver was unable to execute /usr/lib/sendmail the send the mail for _various_ reasons, including a permission problem and a problem because of missing Return-Path header.
I solved it like so:
Craft a valid message, then su user -c 'limit -c unlimited ; strace dovecot-deliver -f sender -d user < msg'
Then check out the the system trace and the core dump.
To make sure the Return-Path header is present in the mail, I replaced the MDA setting with a script, roughly:
=== START MDAscript #!/bin/bash
( echo "Command line arguments: $@" ulimit -c unlimited ulimit id pwd tee /tmp/msg.$$ | /usr/libexec/dovecot/deliver "$@" > /tmp/deliver.out.$$ 2>&1 echo $? >/tmp/exitcode.$$ ) > /tmp/out.$$ 2>&1
# Pass the output to sendmail cat /tmp/deliver.out.$$ exit $(cat /tmp/exitcode.$$) === END
Sometimes deliver outputs useful stuff, despite the core dump.
not header :comparator > "i;ascii-casemap" :is "Precedence" "list,bulk" ) {
You are using Horde?
"Precedence" "list,bulk" should be "Precedence" [ "list", "bulk" ]
Bye,
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBRsADGS9SORjhbDpvAQKLpAgApGfHPnQR1uama6etbS7lPNrNAubeoEqQ dMFNHboGRGEOSOQ6UBUh6PFgXd5ru6m2dXvKsMD+Krw1pgJX1hXoEuCHotaJpaWr ypu/5aaYPNFyP7K2OTpdprjei52c4m65bcxdHK3Sjd1GOB3XkZCB7R9J3KvvsYg4 Tg8jAznMHChcZdhmJxBFSEd1rf/kWrKSO3qF9PcMlVz0y5H0ADAkQXh3gN74zLEM 0HkXhpgYqucRZAYCl6RlSYve6TCqEMCSDtFiLf3Au7g/IrEeouZwJBSOGhPJNuhh le3v1vYWOtuMvM6sU5zT5E9qsIbaiifMNFm2MSrhMUxtTkaAO/Spcg== =1uSW -----END PGP SIGNATURE-----
I have compile with the vacation patch (dovecot-sieve-1.0-logging.patch) and log file shown.
2007-08-15 11:28:34 deliver(steve@tinchun.com): sieve_execute_bytecode(/home/mail/sieve/steve@tinchun.com/.dovecot.sievec) failed 2007-08-15 11:28:34 deliver(steve@tinchun.com): sieve runtime error: Run error
my .dovecot.sieve
# Sieve Filter # 由 Ingo (http://www.horde.org/ingo/) 產生 (August 15, 2007, 10:49 am)
require "vacation";
# 假期通知 if allof ( not exists ["list-help", "list-unsubscribe", "list-subscribe", "list-owner", "list-post", "list-archive", "list-id"], not header :comparator "i;ascii-casemap" :is "Precedence" "list,bulk" ) { vacation :days 7 :addresses "steve@tinchun.com" :subject "test" "test vacation"; }
participants (3)
-
kc
-
M1
-
Steffen Kaiser