So konfigurieren Sie einen Mail-Server mit Postfix, Dovecot, MySQL und SpamAssassin und Sieve, um in den Ordner Spam / Junk zu gelangen

2461
Patrik Laszlo

Ich habe damit einen Mailserver erstellt

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

Es funktioniert, aber ich bekomme eine Unmenge von E-Mails mit richtigem Spam-Assassin, ich bekomme vorgeprägte Betreff-E-Mails wie

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

Ich habe jedoch keine Idee, die Spam-E-Mails mit Sieve in den Spam-Ordner zu verschieben.

Hier ist meine Dovecot-Konfiguration:

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" } 
0
Bitte geben Sie Ihre Dovecot-Konfiguration (`doveconf -n`) und die ursprünglichen Header einer Spam-Mail an. Jens Erat vor 7 Jahren 0
vielen dank für die hilfe, ich habe die config in die frage eingefügt. Patrik Laszlo vor 7 Jahren 0

1 Antwort auf die Frage

2
Patrik Laszlo

So wird es gelöst (es hat 7 Monate gedauert):

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

Hinzufügen oder einstellen:


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

nano /etc/dovecot/sieve.conf 

Hinzufügen in:

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

Ausführen:

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

Füge hinzu oder setze es, es ist so (ich denke, du brauchst nicht alles andere):

 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 

Bearbeiten Sie eine neue Datei erneut:

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

Stellen Sie diese Konfiguration ein, Sie brauchen nichts anderes:

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

Bearbeiten Sie die Mailboxen. Jo hat Junk. Ich denke, Jo muss nur die Junk-Einstellung hinzufügen oder auskommentieren:

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

In dieser Konfiguration hinzufügen:

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 } } 

Mein Benutzer für den E-Mail-Server ist also vmailso:

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

chown -R vmail:vmail /etc/dovecot

Starten Sie Ihren Mailserver neu:

service postfix reload && service spamassassin restart && service dovecot restart