วิธีกำหนดค่าเซิร์ฟเวอร์อีเมลโดยใช้ Postfix, Dovecot, MySQL และ SpamAssassin และ Sieve เพื่อย้ายไปยังโฟลเดอร์สแปม / ขยะ


0

ฉันสร้างเมลเซิร์ฟเวอร์โดยใช้สิ่งนี้

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

มันใช้งานได้ แต่ฉันได้รับอีเมลจำนวนมากมายพร้อมกับ spamassassin ที่เหมาะสมฉันได้รับคำนำหน้าหัวเรื่องอีเมลเช่น

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

แต่ฉันไม่มีความคิดที่จะใช้ Sieve เพื่อย้ายอีเมลขยะไปยังโฟลเดอร์สแปม

นี่คือการกำหนดค่า 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"
}

โปรดระบุการตั้งค่า Dovecot ของคุณ ( doveconf -n) และส่วนหัวดั้งเดิมของจดหมายขยะ
Jens Erat

ขอบคุณมากที่ช่วยฉันเพิ่มการตั้งค่าในคำถาม
Patrik Laszlo

คำตอบ:


2

นี่คือวิธีแก้ไขมัน (ใช้เวลา 7 เดือน):

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

เพิ่มหรือตั้งค่าใน:


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

nano /etc/dovecot/sieve.conf

เพิ่มใน:

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

ดำเนินการ:

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

เพิ่มหรือตั้งค่ามันเป็นเช่นนี้ (ฉันคิดว่าคุณไม่จำเป็นต้องทุกคนอื่น):

    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

แก้ไขไฟล์ใหม่อีกครั้ง:

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

ตั้งค่าคอนฟิกนี้คุณไม่ต้องการสิ่งใดเลย:

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

แก้ไขกล่องจดหมายดังนั้น jo มีขยะฉันคิดว่า jo แค่ต้องการเพิ่มหรือยกเลิกการตั้งค่าขยะ:

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

เพิ่มในการกำหนดค่านี้:

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

ผู้ใช้ของฉันสำหรับเซิร์ฟเวอร์อีเมลคือvmailทำเช่นนี้:

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

chown -R vmail:vmail /etc/dovecot

รีสตาร์ทเมลเซิร์ฟเวอร์ของคุณ:

service postfix reload && service spamassassin restart && service dovecot restart
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.