ubuntuusers.de

Mailserver Dovecot LMTP Sieve Scripte greifen nicht

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

Rocky007

Anmeldungsdatum:
21. August 2016

Beiträge: 12

Hallo,

ich habe einen Mailserver soweit konfiguriert, dass fast alles läuft, läuft auf einem Debian 10 (Buster) Ich verwende Postfixadmin für die Konfiguration der Postfächer.

Leider funktionieren keine Sieve Scripte, im Log steht auch immer nur postfix delivered to mailbox ohne ausgabe dass sieve irgendetwas macht.

doveconf -n

# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 ()
# OS: Linux 4.19.0-8-amd64 x86_64 Debian 10.3 ext4
# Hostname: mailserver.domain.de
auth_mechanisms = plain login
dict {
  quotadict = mysql:/etc/dovecot/dovecot-dict-sql.conf
}
first_valid_uid = 5000
mail_debug = yes
mail_gid = vmail
mail_home = /var/vmail/mailboxes/%d/%n
mail_location = maildir:/var/vmail/mailboxes/%d/%n
mail_plugins = quota
mail_privileged_group = vmail
mail_uid = vmail
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 Archiv {
    auto = subscribe
    special_use = \Archive
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Spam {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix = 
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
plugin {
  imapsieve_mailbox1_before = file:/var/vmail/sieve/global/learn-spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = Spam
  imapsieve_mailbox2_before = file:/var/vmail/sieve/global/learn-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Spam
  imapsieve_mailbox2_name = *
  quota = dict:User quota::proxy::quotadict
  quota_exceeded_message = Benutzer %u hat das Speichervolumen Überschritten. / User %u has exhausted allowed storage space.
  quota_rule = *Storage=1GB
  recipient_delimiter = +
  sieve = file:/var/vmail/sieve/%d/%n/scripts;active=/var/vmail/sieve/%d/%n/active-script.sieve
  sieve_before = /var/vmail/sieve/global/spam-global.sieve
  sieve_global_extensions = +vnd.dovecot.pipe
  sieve_pipe_bin_dir = /usr/bin
  sieve_plugins = sieve_imapsieve sieve_extprograms
}
postmaster_address = postmaster@domain.de
protocols = imap lmtp sieve imap lmtp sieve
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0660
    user = vmail
  }
}
service dict {
  unix_listener dict {
    group = vmail
    mode = 0660
    user = vmail
  }
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 0
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
  user = vmail
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}
ssl = required
ssl_cert = </etc/letsencrypt/live/mailserver.domain.de/fullchain.pem
ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_prefer_server_ciphers = yes
userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
protocol lmtp {
  mail_plugins = quota sieve quota
  postmaster_address = postmaster@domain.de
}
protocol lda {
  mail_plugins = quota sieve
}
protocol imap {
  imap_idle_notify_interval = 29 mins
  mail_max_userip_connections = 20
  mail_plugins = quota quota imap_quota imap_sieve
}

postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 1h
compatibility_level = 2
inet_interfaces = 127.0.0.1 10.100.2.5
inet_protocols = all
mailbox_size_limit = 0
maximal_backoff_time = 15m
maximal_queue_lifetime = 1h
message_size_limit = 20480000
milter_default_action = accept
milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}
milter_protocol = 6
minimal_backoff_time = 5m
mua_client_restrictions = permit_mynetworks permit_sasl_authenticated reject
mua_relay_restrictions = reject_non_fqdn_recipient reject_unknown_recipient_domain permit_mynetworks permit_sasl_authenticated reject
mua_sender_restrictions = permit_mynetworks reject_non_fqdn_sender reject_sender_login_mismatch permit_sasl_authenticated reject
mydestination = localhost
myhostname = mailserver.domain.de
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.100.2.0/24
myorigin = /etc/mailname
non_smtpd_milters = inet:localhost:11332
postscreen_access_list = permit_mynetworks cidr:/etc/postfix/postscreen_access
postscreen_blacklist_action = drop
postscreen_dnsbl_action = drop
postscreen_dnsbl_sites = ix.dnsbl.manitu.net*2 zen.spamhaus.org*2
postscreen_dnsbl_threshold = 2
postscreen_greet_action = drop
queue_run_delay = 5m
readme_directory = no
recipient_delimiter = +
relay_domains = mysql:/etc/postfix/sql/mysql_relay_domains.cf
relayhost =
smtp_dns_support_level = dnssec
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_ciphers = high
smtp_tls_protocols = !SSLv2, !SSLv3
smtp_tls_security_level = dane
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_client_restrictions = permit_mynetworks check_client_access hash:/etc/postfix/without_ptr reject_unknown_client_hostname
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks reject_invalid_helo_hostname reject_non_fqdn_helo_hostname reject_unknown_helo_hostname
smtpd_milters = inet:localhost:11332
smtpd_relay_restrictions = reject_non_fqdn_recipient reject_unknown_recipient_domain permit_mynetworks reject_unauth_destination
smtpd_tls_cert_file = /etc/letsencrypt/live/mailserver.domain.de/fullchain.pem
smtpd_tls_ciphers = high
smtpd_tls_key_file = /etc/letsencrypt/live/mailserver.domain.de/privkey.pem
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
tls_high_cipherlist = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA
tls_preempt_cipherlist = yes
tls_ssl_options = NO_COMPRESSION
transport_maps = mysql:/etc/postfix/sql/mysql_transport_maps.cf
virtual_alias_maps = mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /var/vmail/mailboxes/
virtual_mailbox_domains = mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
virtual_minimum_uid = 5000
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_uid_maps = static:5000

master.cf

#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master" or
# on-line: http://www.postfix.org/master.5.html).
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
#smtp      inet  n       -       y       -       -       smtpd
smtp      inet  n       -       y       -       1       postscreen
  -o smtpd_sasl_auth_enable=no
smtpd     pass  -       -       y       -       -       smtpd
dnsblog   unix  -       -       y       -       0       dnsblog
tlsproxy  unix  -       -       y       -       0       tlsproxy
#submission inet n       -       y       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_tls_auth_only=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
submission inet n       -       y       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_client_restrictions=$mua_client_restrictions
  -o smtpd_sender_restrictions=$mua_sender_restrictions
  -o smtpd_relay_restrictions=$mua_relay_restrictions
  -o milter_macro_daemon_name=ORIGINATING
#  -o smtpd_sender_login_maps=mysql:/etc/postfix/sql/sender-login-maps.cf
  -o smtpd_helo_required=no
  -o smtpd_helo_restrictions=
  -o cleanup_service_name=submission-header-cleanup
#smtps     inet  n       -       y       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628       inet  n       -       y       -       -       qmqpd
pickup    unix  n       -       y       60      1       pickup
cleanup   unix  n       -       y       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
#qmgr     unix  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       y       1000?   1       tlsmgr
rewrite   unix  -       -       y       -       -       trivial-rewrite
bounce    unix  -       -       y       -       0       bounce
defer     unix  -       -       y       -       0       bounce
trace     unix  -       -       y       -       0       bounce
verify    unix  -       -       y       -       1       verify
flush     unix  n       -       y       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       y       -       -       smtp
#relay     unix  -       -       y       -       -       smtp
#        -o syslog_name=postfix/$service_name
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
relay     unix  -       -       y       -       -       smtp
showq     unix  n       -       y       -       -       showq
error     unix  -       -       y       -       -       error
retry     unix  -       -       y       -       -       error
discard   unix  -       -       y       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       y       -       -       lmtp
anvil     unix  -       -       y       -       1       anvil
scache    unix  -       -       y       -       1       scache
postlog   unix-dgram n  -       n       -       1       postlogd
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
#  mailbox_transport = lmtp:inet:localhost
#  virtual_transport = lmtp:inet:localhost
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
# Old example of delivery via Cyrus.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix	-	n	n	-	2	pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}
submission-header-cleanup unix n - n    -       0       cleanup
    -o header_checks=regexp:/etc/postfix/submission_header_cleanup
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}

vmail/sieve/domain/user/active-script.sieve

require ["fileinto"];
# rule:[TEST]
if allof (header :contains "from" "mytest@gmx.de")
{
	fileinto "Archiv";
}

mail.log

Mar 11 10:10:08 mailserver postfix/smtpd[3871]: connect from mout.gmx.net[212.227.15.18]
Mar 11 10:10:08 mailserver postfix/smtpd[3871]: 4B045101A2F: client=mout.gmx.net[212.227.15.18]
Mar 11 10:10:08 mailserver postfix/cleanup[3880]: 4B045101A2F: message-id=<ffa806ae-9bfc-4ee6-ed0b-163ed805bbe4@gmx.de>
Mar 11 10:10:11 mailserver postfix/qmgr[3189]: 4B045101A2F: from=<mytest@gmx.de>, size=3052, nrcpt=1 (queue active)
Mar 11 10:10:11 mailserver postfix/smtpd[3871]: disconnect from mout.gmx.net[212.227.15.18] ehlo=2 starttls=1 mail=1 rcpt=1 data=1 quit=1 commands=7
Mar 11 10:10:11 mailserver postfix/virtual[3883]: 4B045101A2F: to=<user@domain.de>, relay=virtual, delay=2.9, delays=2.8/0.01/0/0.07, dsn=2.0.0, status=sent (delivered to maildir)
Mar 11 10:10:11 mailserver postfix/qmgr[3189]: 4B045101A2F: removed
Mar 11 10:10:11 mailserver dovecot: imap(user@domain.de)<3455><Gzb2xo+gwOSCtCc6>: Debug: Mailbox INBOX: UID 463: Opened mail because: mail stream
Mar 11 10:10:11 mailserver dovecot: imap(user@domain.de)<3455><Gzb2xo+gwOSCtCc6>: Debug: Mailbox INBOX: UID 463: Opened mail because: 14/14 headers not cached (first=BCC) (Cache file is empty, reset_id=1583253701)
Mar 11 10:10:12 mailserver dovecot: imap(user@domain.de)<3455><Gzb2xo+gwOSCtCc6>: Debug: Mailbox INBOX: UID 463: Opened mail because: prefetch
Mar 11 10:10:12 mailserver dovecot: imap(user@domain.de)<3455><Gzb2xo+gwOSCtCc6>: Debug: Mailbox INBOX: UID 463: Opened mail because: access
Mar 11 10:10:12 mailserver dovecot: imap(user@domain.de)<3455><Gzb2xo+gwOSCtCc6>: Debug: Mailbox INBOX: UID 463: Opened mail because: full mail
Mar 11 10:10:12 mailserver dovecot: imap(user@domain.de)<3455><Gzb2xo+gwOSCtCc6>: Debug: Mailbox INBOX: UID 463: Opened mail because: prefetch
Mar 11 10:10:12 mailserver dovecot: imap(user@domain.de)<3455><Gzb2xo+gwOSCtCc6>: Debug: Mailbox INBOX: UID 463: Opened mail because: access
Mar 11 10:10:12 mailserver dovecot: imap(user@domain.de)<3455><Gzb2xo+gwOSCtCc6>: Debug: Mailbox INBOX: UID 463: Opened mail because: mail body

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5576

Sieve ist ein Feature von Dovecot. Du aber nutzt Postfix um die Mails zuzustellen, das wird so nicht funktionieren.

Dein postfix muss die Mails an Dovecot zur Zustellung uebergeben, dann klappt auch sieve. zB via LDA (Local delivery agent) oder LMTP (local mail transmission protocol, quasi SMTP). Ich emfehle ersteres, ist einfacher einzurichten (postfix dann ruft nur ein programm von dovecot auf)

Rocky007

(Themenstarter)

Anmeldungsdatum:
21. August 2016

Beiträge: 12

Ich habe LMTP wie im Dovecot Wiki konfigurert, wo habe ich Postfix den direkten delivery-weg eingestellt?

https://wiki.dovecot.org/HowTo/PostfixDovecotLMTP

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5576

Rocky007 schrieb:

wo habe ich Postfix den direkten delivery-weg eingestellt?

Hieraus ist erkennbar, dass dem so ist:

Mar 11 10:10:11 mailserver postfix/virtual[3883]: 4B045101A2F: to=<user@domain.de>, relay=virtual, delay=2.9, delays=2.8/0.01/0/0.07, dsn=2.0.0, status=sent (delivered to maildir)

(Hervorhebung von mir)

Ich wuerde mal virtual_mailbox_maps entfernen, denn das braucht Postfix ohnehin nicht. Ausserdem weiss ich nicht, was in mysql:/etc/postfix/sql/mysql_transport_maps.cf steht (transport_maps), das ueberschreibt naemlich virtual_transport laut der Dokumentation.

Rocky007

(Themenstarter)

Anmeldungsdatum:
21. August 2016

Beiträge: 12

Hallo,

das war die Lösung die virtual_transport_maps haben das überschrieben.

Die Benutzerspezifischen Sieve Regeln klappen nun auch problemlos.

Nur das globale lean-span learn-ham noch nicht.

Doveconf -n

managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation su
baddress comparator-i;ascii-numeric relational regex imap4flags copy include variable
s body enotify environment mailbox date index ihave duplicate mime foreverypart extra
cttext imapsieve vnd.dovecot.imapsieve
  imapsieve_mailbox1_before = file:/var/vmail/sieve/global/learn-spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = Spam
  imapsieve_mailbox2_before = file:/var/vmail/sieve/global/learn-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Spam
  imapsieve_mailbox2_name = *
  sieve = file:/var/vmail/sieve/%d/%n/scripts;active=/var/vmail/sieve/%d/%n/active-sc
ript.sieve
  sieve_before = /var/vmail/sieve/global/spam-global.sieve
  sieve_global_extensions = +vnd.dovecot.pipe
  sieve_pipe_bin_dir = /usr/bin
  sieve_plugins = sieve_imapsieve sieve_extprograms
protocols = imap lmtp sieve imap lmtp sieve
service managesieve-login {
  inet_listener sieve {
  mail_plugins = quota sieve quota
  mail_plugins = quota quota imap_quota imap_sieve
Error: sieve: Execution of script /var/vmail/sieve/global/learn-spam.sieve failed
-rwxr-xr-x 1 vmail vmail  235 Mär  3 12:10 learn-ham.sieve
-rw-r--r-- 1 vmail vmail  380 Jun  8 08:44 learn-ham.svbin
-rwxr-xr-x 1 vmail vmail   87 Mär  3 12:10 learn-spam.sieve
-rw-r--r-- 1 vmail vmail  250 Jun  8 08:47 learn-spam.svbin
-rwxr-xr-x 1 vmail vmail  141 Mär  3 12:09 spam-global.sieve

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5576

Rocky007 schrieb:

Error: sieve: Execution of script /var/vmail/sieve/global/learn-spam.sieve failed

Steht in der Naehe im Log wo, woran es gescheitert ist? Ansonsten mal mit sievec kompilieren, als Mailservernutzer wegen der Rechte, dann siehst du auch woran es scheitert.

Rocky007

(Themenstarter)

Anmeldungsdatum:
21. August 2016

Beiträge: 12

Beim manuellen Kompilieren gibt es den Fehler:

Fatal: Failed to initialize quota: Invalid quota root quota: Invalid rule *Storage=1GB: Invalid rule

doveconf -n

# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 ()
# OS: Linux 4.19.0-9-amd64 x86_64 Debian 10.4 ext4
# Hostname: mailserver.fam-rock.de
auth_mechanisms = plain login
dict {
  quotadict = mysql:/etc/dovecot/dovecot-dict-sql.conf
}
first_valid_uid = 5000
mail_gid = vmail
mail_home = /var/vmail/mailboxes/%d/%n
mail_location = maildir:/var/vmail/mailboxes/%d/%n
mail_plugins = quota
mail_privileged_group = vmail
mail_uid = vmail
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 Archiv {
    auto = subscribe
    special_use = \Archive
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Spam {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix = 
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
plugin {
  imapsieve_mailbox1_before = file:/var/vmail/sieve/global/learn-spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = Spam
  imapsieve_mailbox2_before = file:/var/vmail/sieve/global/learn-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Spam
  imapsieve_mailbox2_name = *
  quota = dict:User quota::proxy::quotadict
  quota_exceeded_message = Benutzer %u hat das Speichervolumen überschritten. / User %u has exhausted allowed storage space.
  quota_rule = *Storage=1GB
  recipient_delimiter = +
  sieve = file:/var/vmail/sieve/%d/%n/scripts;active=/var/vmail/sieve/%d/%n/active-script.sieve
  sieve_before = /var/vmail/sieve/global/spam-global.sieve
  sieve_global_extensions = +vnd.dovecot.pipe
  sieve_pipe_bin_dir = /usr/bin
  sieve_plugins = sieve_imapsieve sieve_extprograms
}
protocols = imap lmtp sieve imap lmtp sieve
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0660
    user = vmail
  }
}
service dict {
  unix_listener dict {
    group = vmail
    mode = 0660
    user = vmail
  }
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 0
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
  user = vmail
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}
ssl = required
ssl_cert = </etc/letsencrypt/live/mailserver.fam-rock.de/fullchain.pem
ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_prefer_server_ciphers = yes
userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
protocol lmtp {
  mail_plugins = quota sieve quota
  postmaster_address = postmaster@fam-rock.de
}
protocol imap {
  imap_idle_notify_interval = 29 mins
  mail_max_userip_connections = 20
  mail_plugins = quota quota imap_quota imap_sieve
}

/etc/dovecot/dovecot-dict-sql.conf

# This file is commonly accessed via dict {} section in dovecot.conf

connect = "host=127.0.0.1 dbname=DB user=USER password=PW"

# CREATE TABLE quota (
#   username varchar(100) not null,
#   bytes bigint not null default 0,
#   messages integer not null default 0,
#   primary key (username)
# );

map {
  pattern = priv/quota/storage
  table = quota2
  username_field = username
  value_field = bytes
}
map {
  pattern = priv/quota/messages
  table = quota2
  username_field = username
  value_field = messages
}

# CREATE TABLE expires (
#   username varchar(100) not null,
#   mailbox varchar(255) not null,
#   expire_stamp integer not null,
#   primary key (username, mailbox)
# );

map {
  pattern = shared/expire/$user/$mailbox
  table = expires
  value_field = expire_stamp

  fields {
    username = $user
    mailbox = $mailbox
  }
}

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5576

Rocky007 schrieb:

Beim manuellen Kompilieren gibt es den Fehler:

Fatal: Failed to initialize quota: Invalid quota root quota: Invalid rule *Storage=1GB: Invalid rule

Wolltest du vielleicht quota_rule = *:storage=1G schreiben? Siehe https://wiki2.dovecot.org/Quota/Configuration

Rocky007

(Themenstarter)

Anmeldungsdatum:
21. August 2016

Beiträge: 12

Ich glaube ich brauche das garnicht, da es sich ja durch das dict vom SQL holt oder?

Habe es aber mal richtig geschrieben und der Fehler kommt weiter:

Jun  9 21:10:21 mailserver dovecot: imap(user@domain.de)<11039><cu4sequnFpJtwPko>: Error: sieve: pipe action: failed to execute to program `rspamc': refer to server log for more information. [2020-06-09 21:10:21]
Jun  9 21:10:21 mailserver dovecot: imap(user@domain.de)<11039><cu4sequnFpJtwPko>: sieve: left message in mailbox 'INBOX.PVE_Backup_Successful'
Jun  9 21:10:21 mailserver dovecot: imap(user@domain.de)<11039><cu4sequnFpJtwPko>: Error: sieve: Execution of script /var/vmail/sieve/global/learn-ham.sieve failed

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5576

Rocky007 schrieb:

Habe es aber mal richtig geschrieben und der Fehler kommt weiter:

Das ist ein anderer Fehler. Liesst du die Meldungen ueberhaupt auch selbst? Da steht failed to execute to program `rspamc'.

Jun  9 21:10:21 mailserver dovecot: imap(user@domain.de)<11039><cu4sequnFpJtwPko>: Error: sieve: pipe action: failed to execute to program `rspamc': refer to server log for more information. [2020-06-09 21:10:21]
Jun  9 21:10:21 mailserver dovecot: imap(user@domain.de)<11039><cu4sequnFpJtwPko>: sieve: left message in mailbox 'INBOX.PVE_Backup_Successful'
Jun  9 21:10:21 mailserver dovecot: imap(user@domain.de)<11039><cu4sequnFpJtwPko>: Error: sieve: Execution of script /var/vmail/sieve/global/learn-ham.sieve failed
Antworten |