Jak skonfigurować serwer pocztowy za pomocą Postfix, Dovecot, MySQL oraz SpamAssassin i Sieve, aby przejść do folderu Spam / śmieci

0

Za pomocą tego utworzyłem serwer pocztowy

https://www.digitalocean.com/community/tutorials/how-to-configure-a-mail-server-using-postfix-dovecot-mysql-and-spamassassin

Działa, ale dostaję mnóstwo e-maili z odpowiednim spamassassinem Otrzymuję prefiks Tematyczne wiadomości e-mail, takie jak

***** SPAM ***** 2.9 ***** Do not miss,the fullyQtum Main Network Launches September 13th, 2017

Ale nie mam pojęcia, jak używać Sieve do przenoszenia spamu do folderu ze spamem.

Oto moja konfiguracja dovecot:

auth_mechanisms = plain login
mail_location = maildir:/var/mail/vhosts/%d/%n
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
namespace inbox {
  inbox = yes
  location = 
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix = 
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  sieve = /etc/dovecot/sieve.conf
}
protocols = imap lmtp pop3
service auth-worker {
  user = vmail
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0666
    user = postfix
  }
  unix_listener auth-userdb {
    mode = 0666
    user = vmail
  }
  user = dovecot
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
ssl = required
ssl_ca = </etc/ssl/acme/patrikx3.com/ca.cer
ssl_cert = </etc/ssl/acme/patrikx3.com/fullchain.cer
ssl_key =  # hidden, use -P to show it
userdb {
  args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
  driver = static
}
protocol lmtp {
  auth_socket_path = /var/run/dovecot/auth-master
  mail_plugins = " sieve"
}
Patrik Laszlo
źródło
Podaj swoją konfigurację Dovecot ( doveconf -n) i oryginalne nagłówki spamu.
Jens Erat,
dziękuję bardzo za pomoc, dodałem konfigurację w pytaniu.
Patrik Laszlo,

Odpowiedzi:

2

Oto jak to rozwiązać (zajęło 7 miesięcy):

apt install dovecot-sieve dovecot-managesieved
nano /etc/dovecot/conf.d/90-plugin.conf

Dodaj lub ustaw:


protocol lmtp {
        mail_plugins = $mail_plugins sieve
        auth_socket_path = /var/run/dovecot/auth-master
    }  

nano /etc/dovecot/sieve.conf

Dodać:

require ["fileinto", "mailbox"];
    if header :contains "X-Spam-Flag" "YES" {
        # move mail into Folder Spam, create folder if not exists
        fileinto :create "Spam";
        stop;
    }

Wykonać:

sievec /etc/dovecot/sieve.conf
nano /etc/spamassassin/local.cf

Dodaj lub ustaw, tak to wygląda (myślę, że nie potrzebujesz wszystkiego innego):

    report_safe             0
    required_score          2.0
    use_bayes               1
    use_bayes_rules         1
    bayes_auto_learn        1
    skip_rbl_checks         0
    use_razor2              1
    use_pyzor               0

    add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ version=_VERSION_
    bayes_ignore_header X-Bogosity
    bayes_ignore_header X-Spam-Flag
    bayes_ignore_header X-Spam-Status

Ponownie edytuj nowy plik:

nano /etc/dovecot/conf.d/90-sieve.conf

Ustaw tę konfigurację, nic więcej nie potrzebujesz:

plugin {
    sieve = /etc/dovecot/sieve.conf
}

Edytuj skrzynki pocztowe, więc jo ma śmieci, myślę, że jo po prostu dodaj lub odznacz opcję śmieci:

nano /etc/dovecot/conf.d/15-mailboxes.conf 

Dodaj w tej konfiguracji:

namespace inbox {
      mailbox Drafts {
        auto = subscribe
        special_use = \Drafts
      }
      mailbox Junk {
        auto = subscribe
        special_use = \Junk
      }
      mailbox Trash {
        auto = subscribe
        special_use = \Trash
      }
      mailbox Sent {
        auto = subscribe
        special_use = \Sent
      }
    }

Mój użytkownik serwera e-mail to vmail, więc zrób tak:

chmod ug+w /etc/dovecot chmod ug+w /etc/dovecot/sieve.conf.svbin

chown -R vmail:vmail /etc/dovecot

Uruchom ponownie serwer poczty:

service postfix reload && service spamassassin restart && service dovecot restart
Patrik Laszlo
źródło