# Please don't modify this file as your changes might be overwritten with
# the next update.
#
# You can modify '$LOCAL_CONFDIR/rspamd.conf.local.override' to redefine
# parameters defined on the top level
#
# You can modify '$LOCAL_CONFDIR/rspamd.conf.local' to add
# parameters defined on the top level
#
# For specific modules or configuration you can also modify
# '$LOCAL_CONFDIR/local.d/file.conf' - to add your options or rewrite defaults
# '$LOCAL_CONFDIR/override.d/file.conf' - to override the defaults
#
# See https://rspamd.com/doc/tutorials/writing_rules.html for details

multimap {
    # Freemail Addresses
    freemail_envfrom {
        type = "from";
        filter = "email:domain";
        map = "https://maps.rspamd.com/freemail/free.txt.zst";
        symbol = "FREEMAIL_ENVFROM";
        description = "Envelope From is a Freemail address";
        score = 0.0;
    }

    freemail_envrcpt {
        type = "rcpt";
        filter = "email:domain";
        map = "https://maps.rspamd.com/freemail/free.txt.zst";
        symbol = "FREEMAIL_ENVRCPT";
        description = "Envelope Recipient is a Freemail address";
        score = 0.0;
    }

    freemail_from {
        type = "header";
        header = "from";
        filter = "email:domain";
        map = "https://maps.rspamd.com/freemail/free.txt.zst";
        symbol = "FREEMAIL_FROM";
        description = "From is a Freemail address";
        score = 0.0;
    }

    freemail_to {
        type = "header";
        header = "To";
        filter = "email:domain";
        map = "https://maps.rspamd.com/freemail/free.txt.zst";
        symbol = "FREEMAIL_TO";
        description = "To is a Freemail address";
        score = 0.0;
    }

    freemail_cc {
        type = "header";
        header = "Cc";
        filter = "email:domain";
        map = "https://maps.rspamd.com/freemail/free.txt.zst";
        symbol = "FREEMAIL_CC";
        description = "To is a Freemail address";
        score = 0.0;
    }

    freemail_replyto {
        type = "header";
        header = "Reply-To";
        filter = "email:domain";
        map = "https://maps.rspamd.com/freemail/free.txt.zst";
        symbol = "FREEMAIL_REPLYTO";
        description = "Reply-To is a Freemail address";
        score = 0.0;
    }

    # Disposable Addresses
    disposable_envfrom {
        type = "from";
        filter = "email:domain";
        map = "https://rspamd.com/freemail/disposable.txt.zst";
        symbol = "DISPOSABLE_ENVFROM";
        description = "Envelope From is a Disposable e-mail address";
        score = 0.0;
    }

    disposable_envrcpt {
        type = "rcpt";
        filter = "email:domain";
        map = "https://maps.rspamd.com/freemail/disposable.txt.zst";
        symbol = "DISPOSABLE_ENVRCPT";
        description = "Envelope Recipient is a Disposable e-mail address";
        score = 0.0;
    }

    disposable_from {
        type = "header";
        header = "from";
        filter = "email:domain";
        map = "https://maps.rspamd.com/freemail/disposable.txt.zst";
        symbol = "DISPOSABLE_FROM";
        description = "From a Disposable e-mail address";
        score = 0.0;
    }

    disposable_to {
        type = "header";
        header = "To";
        filter = "email:domain";
        map = "https://maps.rspamd.com/freemail/disposable.txt.zst";
        symbol = "DISPOSABLE_TO";
        description = "To a disposable e-mail address";
        score = 0.0;
    }

    disposable_cc {
        type = "header";
        header = "Cc";
        filter = "email:domain";
        map = "https://maps.rspamd.com/freemail/disposable.txt.zst";
        symbol = "DISPOSABLE_CC";
        description = "To a disposable e-mail address";
        score = 0.0;
    }

    disposable_replyto {
        type = "header";
        header = "Reply-To";
        filter = "email:domain";
        map = "https://maps.rspamd.com/freemail/disposable.txt.zst";
        symbol = "DISPOSABLE_REPLYTO";
        description = "Reply-To a disposable e-mail address";
        score = 0.0;
    }

    .include(try=true,priority=5) "${DBDIR}/dynamic/multimap.conf"
    .include(try=true,priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/multimap.conf"
    .include(try=true,priority=10) "$LOCAL_CONFDIR/override.d/multimap.conf"
}

/* Example setup
sender_from_whitelist_user {
            type = "from";
            filter = "email:user";
            map = "file:///tmp/from.map";
            symbol = "SENDER_FROM_WHITELIST_USER";
            action = "accept"; # Prefilter mode
}
sender_from_regexp {
            type = "header";
            header = "from";
            filter = 'regexp:/.*@/';
            map = "file:///tmp/from_re.map";
            symbol = "SENDER_FROM_REGEXP";
}
url_map {
            type = "url";
            filter = "tld";
            map = "file:///tmp/url.map";
            symbol = "URL_MAP";
}
url_tld_re {
            type = "url";
            filter = 'tld:regexp:/\.[^.]+$/'; # Extracts the last component of URL
            map = "file:///tmp/url.map";
            symbol = "URL_MAP_RE";
}
*/

