options { pidfile = "$RUNDIR/rspamd.pid"; filters = "ratelimit,mx_check,dkim,spf,arc,dmarc,maillist,fuzzy_check,chartable,phishing,rbl,hfilter,forged_recipients,greylist,milter_headers,redis,force_actions"; raw_mode = false; one_shot = false; map_watch_interval = 5min; map_file_watch_multiplier = 0.1; dynamic_conf = "$DBDIR/rspamd_dynamic"; history_file = "$DBDIR/rspamd.history"; check_all_filters = false; dns { enable_dnssec = true; timeout = 1s; sockets = 16; retransmits = 5; } tempdir = "/tmp"; url_tld = "${SHAREDIR}/effective_tld_names.dat"; classify_headers = [ "User-Agent", "X-Mailer", "Content-Type", "X-MimeOLE", ]; history_rows = 200; explicit_modules = ["settings","bayes_expiry"]; # Scan messages even if they are not MIME allow_raw_input = true; # Start ignore words when reaching the following limit, so the total # amount of words processed will not be *LIKELY more than the twice of that limit words_decay = 600; # Local networks local_addrs = [127.0.0.0/8, 10.0.0.0/8]; hs_cache_dir = "${DBDIR}/"; # Timeout for messages processing (must be larger than any internal timeout used) task_timeout = 8s; whitelist { priority = low; rcpt = "postmaster"; want_spam = yes; } authenticated { priority = high; authenticated = yes; apply { groups_enabled = ["mime_types","phishing","headers"]; } } # Emit soft reject when timeout takes place soft_reject_on_timeout = true; } actions { reject = 150; add_header = 5; greylist = 1; } .include "/etc/redxen/rspamd/workers.conf" .include "/etc/redxen/rspamd/logging.conf" .include "/etc/redxen/rspamd/composites.conf" .include "/etc/redxen/rspamd/statistic.conf" lua = "$RULESDIR/rspamd.lua" modules { path = "${PLUGINSDIR}"; } .include(glob=true) "/etc/redxen/rspamd/modules/*.conf" .include(glob=true) "/etc/redxen/rspamd/scores/*.conf"