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