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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Dovecot mailing list
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

<[hidden email]>: 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([hidden email]): unknown user

System user dol exist, but LDA try to deliver to [hidden email]

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.
Reply | Threaded
Open this post in threaded view
|

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

Dovecot mailing list
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
>
> <[hidden email]>: 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([hidden email]): unknown user
>
> System user dol exist, but LDA try to deliver to [hidden email]
>
> 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
}