RCPT_MAILCOW_DOMAIN {
  type = "rcpt";
  filter = "email:domain";
  map = "redis://DOMAIN_MAP";
  symbols_set = ["RCPT_MAILCOW_DOMAIN"];
}

RCPT_WANTS_SUBJECT_TAG {
  type = "rcpt";
  filter = "email:addr";
  map = "redis://RCPT_WANTS_SUBJECT_TAG";
  symbols_set = ["RCPT_WANTS_SUBJECT_TAG"];
}

RCPT_WANTS_SUBFOLDER_TAG {
  type = "rcpt";
  filter = "email:addr";
  map = "redis://RCPT_WANTS_SUBFOLDER_TAG";
  symbols_set = ["RCPT_WANTS_SUBFOLDER_TAG"];
}

WHITELISTED_FWD_HOST {
  type = "ip";
  map = "redis://WHITELISTED_FWD_HOST";
  symbols_set = ["WHITELISTED_FWD_HOST"];
}

LOCAL_BL_ASN {
  require_symbols = "!MAILCOW_WHITE";
  type = "asn";
  map = "$LOCAL_CONFDIR/custom/bad_asn.map";
  score = 5;
  description = "Sender's ASN is on the local blacklist";
  symbols_set = ["LOCAL_BL_ASN"];
}

GLOBAL_FROM_WL {
  type = "from";
  map = "$LOCAL_CONFDIR/custom/global_from_whitelist.map";
  regexp = true;
  prefilter = true;
  action = "accept";
}

GLOBAL_FROM_BL {
  type = "from";
  map = "$LOCAL_CONFDIR/custom/global_from_blacklist.map";
  regexp = true;
  prefilter = true;
  action = "reject";
}

GLOBAL_RCPT_WL {
  type = "rcpt";
  map = "$LOCAL_CONFDIR/custom/global_rcpt_whitelist.map";
  regexp = true;
  prefilter = true;
  action = "accept";
}

GLOBAL_RCPT_BL {
  type = "rcpt";
  map = "$LOCAL_CONFDIR/custom/global_rcpt_blacklist.map";
  regexp = true;
  prefilter = true;
  action = "reject";
}
