# 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

ratelimit {
    rates {
        # Limit for all mail per recipient (burst 100, rate 2 per minute)
        to = [100, 0.033333333];
        # Limit for all mail per one source ip (burst 30, rate 1.5 per minute)
        to_ip = [30, 0.025];
        # Limit for all mail per one source ip and from address (burst 20, rate 1 per minute)
        to_ip_from = [20, 0.01666666667];
        # Limit for all bounce mail (burst 10, rate 2 per hour)
        bounce_to = [10, 0.000555556];
        # Limit for bounce mail per one source ip (burst 5, rate 1 per hour)
        bounce_to_ip = [5, 0.000277778];
        # Limit for all mail per authenticated user (burst 20, rate 1 per minute)
        user = [20, 0.01666666667];
    }
    # If symbol is specified, then it is inserted instead of setting result
    #symbol = "R_RATELIMIT";
    whitelisted_rcpts = "postmaster,mailer-daemon";
    max_rcpt = 5;

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