Hello all!

 

I have changed my mailserver from spamassasin and procmail to rspamd and sieve. Rspamd is working, but with some sieve script I still have problems.

 

I have created a script to learn spam:

 

haiko@SERVERNAME:~$ sudo cat /var/vmail/sieve/global/learn-spam.sieve

require ["vnd.dovecot.pipe", "copy", "imapsieve"];

pipe :copy "rspamd-learn-spam.sh";

 

If I run sieve to use this script I get this:

 

haiko@SERVERNAME:~$ sudo sieve /var/vmail/sieve/global/learn-spam.sieve

sieve: vnd.dovecot.pipe: file not found

sieve: can't require vnd.dovecot.pipe

Speicherzugriffsfehler

 

I think, my configs are OK:

 

haiko@SERVERNAME:~$ doveconf -n

# 2.2.27 (c0f36b0): /etc/dovecot/dovecot.conf

# Pigeonhole version 0.4.16 (fed8554)

# OS: Linux 4.9.0-7-amd64 x86_64 Debian 9.5

auth_debug_passwords = yes

auth_mechanisms = plain login PLAIN LOGIN

auth_username_format = %Ln

debug_log_path = /var/log/dovecot.log

info_log_path = /var/log/dovecot.log

listen = *

log_path = /var/log/dovecot.log

mail_gid = postfix

mail_location = maildir:~/Maildir

mail_privileged_group = postfix

mail_uid = postfix

managesieve_notify_capability = mailto

managesieve_sieve_capability = fileinto reject envelope encoded-character vacati                                                                                                                                                             on subaddress comparator-i;ascii-numeric relational regex imap4flags copy includ                                                                                                                                                             e variables body enotify environment mailbox date index ihave duplicate mime for                                                                                                                                                             everypart extracttext imapsieve

namespace inbox {

  inbox = yes

  location =

  mailbox "Deleted Items" {

    special_use = \Trash

  }

  mailbox Drafts {

    auto = subscribe

    special_use = \Drafts

  }

  mailbox Junk {

    auto = subscribe

    special_use = \Junk

  }

  mailbox Sent {

    auto = subscribe

    special_use = \Sent

  }

  mailbox Spam {

    auto = subscribe

    special_use = \Junk

  }

  mailbox Trash {

    auto = subscribe

    special_use = \Trash

  }

  prefix =

  separator = .

}

passdb {

  driver = pam

}

passdb {

  driver = pam

}

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 = maildir:User quota

  quota_exceeded_message = Benutzer %u hat das Speichervolumen überschritten. /                                                                                                                                                              User %u has exhausted allowed storage space.

  sieve = ~/.dovecot.sieve

  sieve_before = /var/vmail/sieve/global/spam-global.sieve

  sieve_extensions = +vnd.dovecot.pipe +vnd.dovecot.filter

  sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.filter

  sieve_implicit_extensions = +vnd.dovecot.pipe +vnd.dovecot.filter

  sieve_pipe_bin_dir = /var/vmail/sieve/global

  sieve_plugins = sieve_imapsieve sieve_extprograms

  sieve_trace_level = tests

  sieve_user_log = ~/.dovecot.sieve.log

}

postmaster_address = postmaster@hertes.net

protocols = imap lmtp sieve

service auth {

  unix_listener /var/spool/postfix/private/auth {

    group = postfix

    mode = 0660

    user = postfix

  }

  unix_listener auth-userdb {

    group = postfix

    mode = 0660

    user = postfix

  }

}

service imap-login {

  inet_listener imaps {

    address = *

  }

  process_min_avail = 1

}

service lmtp {

  unix_listener /var/spool/postfix/private/dovecot-lmtp {

    group = postfix

    mode = 0600

    user = postfix

  }

}

service managesieve-login {

  inet_listener sieve {

    port = 4190

  }

}

service managesieve {

  process_limit = 1024

}

service pop3-login {

  inet_listener pop3s {

    address = *

  }

}

ssl = required

ssl_cert = </etc/letsencrypt/live/hertes.net/fullchain.pem

ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECD                                                                                                                                                             H:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:                                                                                                                                                             !SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA

ssl_key =  # hidden, use -P to show it

ssl_prefer_server_ciphers = yes

userdb {

  args = uid=vmail gid=vmail home=/var/vmail/%d/%n

  driver = passwd

}

userdb {

  driver = passwd

}

protocol lmtp {

  mail_plugins = " sieve"

  postmaster_address = postmaster@hertes.net

}

protocol imap {

  imap_idle_notify_interval = 29 mins

  mail_max_userip_connections = 20

  mail_plugins = " imap_quota imap_sieve quota imap_quota imap_sieve"

}

Does anyone of you have a hint what could be wrong here??

 

Thanks!

 

Best regards,

Haiko