Posts by lestatminiyo

    Hi,


    Last week, I received this email :


    Hi,


    First, I'm sorry if this is not the place to create this topic, but I think is the better place to do it.

    I'm trying to create my first Listener, but I'm don't have any knowledge on Perl, so i need some explanations, or ideas to implement it.


    Problem: There are many SPAM emails in INBOX folder after Spamassasin catalog them with X-Spam-Flag = YES

    Solution: To add a small filter in dovecot to move them to Junk folder.


    In order to do this, I need to change some parameters in /etc/dovecot/dovecot.conf


    To add "sieve = /etc/dovecot/sieve/default.sieve" inside plugin context:


    Code
    1. plugin {
    2. quota = maildir:User quota
    3. quota_rule = *:storage=1G
    4. quota_rule2 = INBOX.Trash:storage=+100M
    5. quota_warning = storage=95%% quota-warning 95 %u
    6. quota_warning2 = storage=80%% quota-warning 80 %u
    7. sieve = /etc/dovecot/sieve/default.sieve
    8. }


    To modify mail_plugins inside protocol lda, but not mail_plugins line above the document.


    Code
    1. protocol lda {
    2. auth_socket_path = /var/run/dovecot/auth-master
    3. mail_plugins = $mail_plugins sieve
    4. postmaster_address = postmaster@XXXXXXXXXXX.tld
    5. }


    Finally, to create this document with vmail:mail permissions on /etc/dovecot/sieve/default.sieve


    Code
    1. require "fileinto";
    2. if header :contains "X-Spam-Flag" "YES" {
    3. fileinto "INBOX.Junk";
    4. }



    Basically, I'm trying to do for myself looking other listeners, but I don't understand pretty well and I don't know how to add a line inside a context, how to replace mail_plugins line, when I have 2 different on the document, and I don't know how to create a document with permissions.


    Thank you in advance for your help.