Hi Ben, I checked over your script, and I don't see the problem either. You already checked everything that comes to my mind.
Maybe using something like set -e to try and get some output from the script? -- Computerisms Bob Miller 867-334-7117 / 867-633-3760 http://computerisms.ca On Wed, 2013-06-19 at 14:52 -0400, Ben Johnson wrote: > Hello, > > I'm attempting to configure the Dovecot Antispam plug-in on Ubuntu 12.04 > LTS with Dovecot 2.0.19. > > Everything seems to be in order with one considerable exception: when my > pipe script (a simple Bash shell script) calls the dovecot-lda > executable, absolutely nothing seems to result. > > If I copy/paste the exact same command into the terminal, the mail is > delivered to the target mailbox, as expected. > > Here's my pipe script: http://pastebin.com/DBXAZqsN > > When I move a message from INBOX -> Junk, or from Junk -> INBOX, the > pipe script is called, and here's the output: > > --------------------------------------------------------------- > 31465-start (--debug --username=amavis --ham) > Checking if the command-line input argument string (--debug > --username=amavis --ham) contains the string "ham" or "spam" > Mode is "HAM" > Calling (as user vmail) '/usr/lib/dovecot/deliver -d > "sa-train...@example.com" -m "Training.HAM" -p > "/tmp/sendmail-msg-31465.txt"' > 31465-end > --------------------------------------------------------------- > > But, for some reason, the call to "/usr/lib/dovecot/deliver" doesn't > seem to do anything. > > If I copy the above output and paste it into the terminal: > > /usr/lib/dovecot/deliver -d "sa-train...@example.com" -m "Training.HAM" > -p "/tmp/sendmail-msg-31465.txt" > > Dovecot does indeed deliver the message. This works whether I execute > the above command as "root" or "vmail". > > Why does this command have no effect when called from within the pipe > script? > > Here is my "doveconf -n" output: > > # 2.0.19: /etc/dovecot/dovecot.conf > # OS: Linux 2.6.32-042stab076.8 x86_64 Ubuntu 12.04.2 LTS > auth_mechanisms = plain login > disable_plaintext_auth = no > listen = *,[::] > log_timestamp = "%Y-%m-%d %H:%M:%S " > mail_privileged_group = vmail > passdb { > args = /etc/dovecot/dovecot-sql.conf > driver = sql > } > plugin { > antispam_backend = pipe > antispam_debug_target = syslog > antispam_pipe_program = /usr/bin/sa-learn-pipe.sh > antispam_pipe_program_args = --debug;--username=amavis > antispam_pipe_program_notspam_arg = --ham > antispam_pipe_program_spam_arg = --spam > antispam_pipe_tmpdir = /tmp > antispam_spam_pattern_ignorecase = SPAM;JUNK > antispam_trash_pattern_ignorecase = trash;Deleted * > antispam_verbose_debug = 1 > quota = dict:user::file:/var/vmail/%d/%n/.quotausage > quota_rule2 = Trash:storage=+100M > quota_rule3 = Junk:ignore > quota_warning = storage=95%% quota-warning 95 %u %d > quota_warning2 = storage=80%% quota-warning 80 %u %d > quota_warning3 = -storage=100%% quota-below below %u %d > sieve = /var/vmail/%d/%n/.sieve > } > protocols = imap pop3 > service auth { > unix_listener /var/spool/postfix/private/auth { > group = postfix > mode = 0660 > user = postfix > } > unix_listener auth-userdb { > group = vmail > mode = 0600 > user = vmail > } > user = root > } > service quota-below { > executable = script /usr/local/bin/quota-below.sh > user = vmail > } > service quota-warning { > executable = script /usr/local/bin/quota-warning.sh > user = vmail > } > ssl_cert = </etc/postfix/smtpd.cert > ssl_key = </etc/postfix/smtpd.key > userdb { > args = /etc/dovecot/dovecot-sql.conf > driver = sql > } > protocol imap { > mail_plugins = quota imap_quota antispam > } > protocol pop3 { > mail_plugins = quota > pop3_uidl_format = %08Xu%08Xv > } > protocol lda { > info_log_path = /var/log/dovecot-lda.log > log_path = /var/log/dovecot-lda-errors.log > mail_plugins = sieve quota > } > > > Thank you, > > -Ben