postfix + spamassassin + dovecot-lda (with sieve support)

Dmitry Dolzhenko dol at ngcom.ru
Tue Nov 12 13:39:13 EET 2019


Dmitry Dolzhenko  via dovecot писал 2019-11-12 10:27:
> Hello,
> 
> I have FreeBSD 12 server with postfix + spamassassin. Old config work 
> fine.
> 
> ------ old postfix master.cf
> spamfilter unix - n n - - pipe
> flags=R user=nobody argv=/usr/local/bin/spamc -e /usr/sbin/sendmail
> -oi -f ${sender} ${recipient}
> ------
> 
> 
> I try to add dovecot-lda (with sieve support) as local delivery agent
> to postfix config
> ----------- postfix master.cf
> # Spamd filter
> spamfilter unix - n n - - pipe
> flags=DRhu user=nobody argv=/usr/local/bin/spamc -e
> /usr/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}
> -----------
> 
> Test mail is bounced with report -
> ---------
> If you do so, please include this problem report. You can
> delete your own text from the attached returned message.
> 
> The mail system
> 
> <dol at mig.hys.msu.ru>: user unknown
> ---------
> /var/log/maillog
> Nov 11 22:40:49 mig postfix/smtpd[55978]: disconnect from
> acs366.hys.msu.ru[93.10.51.14] ehlo=1 mail=1 rcpt=1 data=1 quit=1
> commands=5
> Nov 11 22:40:49 mig dovecot[64447]: auth-worker(55751):
> passwd(dol at mig.hys.msu.ru): unknown user
> 
> System user dol exist, but LDA try to deliver to dol at mig.hys.msu.ru
> 
> Please, help me to solve this problem.
> I need to serve IMAP and POP3 clients with delivery to
> /var/mail/username mailboxes if no user sieve rules exists.
> 
> Best regards, Dmitry.

My dovecot config -

doveconf -n
# 2.3.8 (9df20d2db): /usr/local/etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.8 (b7b03ba2)
# OS: FreeBSD 12.1-RELEASE amd64
# Hostname: mig.phys.MSU.ru
auth_mechanisms = plain login
auth_verbose = yes
disable_plaintext_auth = no
listen = *
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_privileged_group = mail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope 
encoded-character vacation subaddress comparator-i;ascii-numeric 
relational regex imap4flags copy include variables body enotify 
environment mailbox date index ihave duplicate mime foreverypart 
extracttext imapsieve vnd.dovecot.imapsieve
namespace inbox {
   inbox = yes
   location =
   mailbox Drafts {
     special_use = \Drafts
   }
   mailbox Junk {
     special_use = \Junk
   }
   mailbox Sent {
     special_use = \Sent
   }
   mailbox "Sent Messages" {
     special_use = \Sent
   }
   mailbox Trash {
     special_use = \Trash
   }
   prefix =
}
passdb {
   driver = pam
}
plugin {
   imapsieve_mailbox1_before = 
file:/usr/local/etc/dovecot/report-spam.sieve
   imapsieve_mailbox1_causes = COPY APPEND
   imapsieve_mailbox1_name = Junk
   imapsieve_mailbox2_before = 
file:/usr/local/etc/dovecot/report-ham.sieve
   imapsieve_mailbox2_causes = COPY
   imapsieve_mailbox2_from = Junk
   imapsieve_mailbox2_name = *
   sieve = file:~/sieve;active=~/.dovecot.sieve
   sieve_global_extensions = +vnd.dovecot.pipe
   sieve_pipe_bin_dir = /usr/local/etc/dovecot
   sieve_plugins = sieve_imapsieve sieve_extprograms
}
protocols = imap pop3 lmtp sieve
service auth {
   unix_listener /var/spool/postfix/private/auth {
     group = postfix
     mode = 0660
     user = postfix
   }
}
service managesieve-login {
   inet_listener sieve {
     address = 192.168.100.1
     port = 4190
   }
}
ssl_cert = 
</usr/local/etc/letsencrypt/live/mig.phys.msu.ru/fullchain.pem
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
   args = /usr/local/etc/dovecot/imap.passwd
   auth_verbose = no
   driver = passwd-file
   result_internalfail = return-fail
}
userdb {
   driver = passwd
}
protocol lmtp {
   mail_plugins = " sieve"
}
protocol imap {
   mail_plugins = " imap_sieve"
}
protocol sieve {
   info_log_path = /var/log/dovecot-sieve.log
   log_path = /var/log/dovecot-sieve-errors.log
   managesieve_implementation_string = dovecot
   managesieve_max_line_length = 65536
}



More information about the dovecot mailing list