# DO NOT EDIT: file generated by build/mkupdates/listpromotable
# active ruleset list, automatically generated from https://ruleqa.spamassassin.org/
# with results from: last-net: net-axb-coi-bulk net-axb-generic net-axb-ham-misc net-darxus net-ena-week0 net-ena-week1 net-ena-week2 net-ena-week3 net-ena-week4 net-giovanni-ham net-giovanni-spam net-giovanni-spammy net-grenier net-jhardin net-llanga net-mmiroslaw-mails-ham net-mmiroslaw-mails-spam net-pds net-sihde net-spamsponge net-thendrikx; day 1: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jhardin llanga mmiroslaw-mails-ham mmiroslaw-mails-spam pds sihde spamsponge thendrikx; day 2: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jhardin llanga mmiroslaw-mails-ham mmiroslaw-mails-spam pds sihde spamsponge thendrikx; day 3: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jhardin llanga mmiroslaw-mails-ham mmiroslaw-mails-spam pds sihde spamsponge; day 4: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jhardin llanga mmiroslaw-mails-ham mmiroslaw-mails-spam pds sihde spamsponge thendrikx; day 5: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jhardin llanga mmiroslaw-mails-ham mmiroslaw-mails-spam pds sihde spamsponge thendrikx

# good enough
ACCT_PHISHING_MANY

# tflags publish
AC_BR_BONANZA

# tflags publish
AC_DIV_BONANZA

# tflags publish
AC_FROM_MANY_DOTS

# tflags publish
AC_HTML_NONSENSE_TAGS

# tflags publish
AC_POST_EXTRAS

# tflags publish
AC_SPAMMY_URI_PATTERNS1

# tflags publish
AC_SPAMMY_URI_PATTERNS10

# tflags publish
AC_SPAMMY_URI_PATTERNS11

# tflags publish
AC_SPAMMY_URI_PATTERNS12

# tflags publish
AC_SPAMMY_URI_PATTERNS2

# tflags publish
AC_SPAMMY_URI_PATTERNS3

# tflags publish
AC_SPAMMY_URI_PATTERNS4

# tflags publish
AC_SPAMMY_URI_PATTERNS8

# tflags publish
AC_SPAMMY_URI_PATTERNS9

# tflags publish
ADMAIL

# tflags publish
ADMITS_SPAM

# tflags publish
ADVANCE_FEE_2_NEW_FORM

# tflags publish
ADVANCE_FEE_2_NEW_FRM_MNY

# tflags publish
ADVANCE_FEE_2_NEW_MONEY

# tflags publish
ADVANCE_FEE_3_NEW

# tflags publish
ADVANCE_FEE_3_NEW_FORM

# tflags publish
ADVANCE_FEE_3_NEW_FRM_MNY

# tflags publish
ADVANCE_FEE_3_NEW_MONEY

# tflags publish
ADVANCE_FEE_4_NEW

# tflags publish
ADVANCE_FEE_4_NEW_FORM

# tflags publish
ADVANCE_FEE_4_NEW_FRM_MNY

# tflags publish
ADVANCE_FEE_4_NEW_MONEY

# tflags publish
ADVANCE_FEE_5_NEW

# tflags publish
ADVANCE_FEE_5_NEW_FORM

# tflags publish
ADVANCE_FEE_5_NEW_FRM_MNY

# tflags publish
ADVANCE_FEE_5_NEW_MONEY

# tflags publish
AD_PREFS

# tflags publish
ALIBABA_IMG_NOT_RCVD_ALI

# tflags userconf
ALL_TRUSTED

# tflags publish
AMAZON_IMG_NOT_RCVD_AMZN

# tflags publish
APP_DEVELOPMENT_FREEM

# tflags publish
APP_DEVELOPMENT_NORDNS

# good enough
AXB_XMAILER_MIMEOLE_OL_024C2

# good enough
AXB_XMAILER_MIMEOLE_OL_1ECD5

# tflags learn
BAYES_00

# tflags learn
BAYES_05

# tflags learn
BAYES_20

# tflags learn
BAYES_40

# tflags learn
BAYES_50

# tflags learn
BAYES_60

# tflags learn
BAYES_80

# tflags learn
BAYES_95

# tflags learn
BAYES_99

# tflags learn
BAYES_999

# tflags publish
BIGNUM_EMAILS

# tflags publish
BIGNUM_EMAILS_FREEM

# tflags publish
BIGNUM_EMAILS_MANY

# tflags publish
BITCOIN_BOMB

# tflags publish
BITCOIN_DEADLINE

# tflags publish
BITCOIN_EXTORT_01

# tflags publish
BITCOIN_EXTORT_02

# tflags publish
BITCOIN_IMGUR

# good enough
BITCOIN_MALF_HTML

# tflags net
BITCOIN_MALWARE

# tflags publish
BITCOIN_OBFU_SUBJ

# tflags publish
BITCOIN_PAY_ME

# tflags publish
BITCOIN_SPAM_01

# tflags publish
BITCOIN_SPAM_02

# tflags publish
BITCOIN_SPAM_03

# tflags publish
BITCOIN_SPAM_04

# tflags net
BITCOIN_SPAM_05

# tflags publish
BITCOIN_SPAM_06

# tflags publish
BITCOIN_SPAM_07

# tflags publish
BITCOIN_SPAM_08

# tflags publish
BITCOIN_SPAM_09

# tflags publish
BITCOIN_SPAM_10

# tflags publish
BITCOIN_SPAM_11

# tflags publish
BITCOIN_SPAM_12

# tflags net
BITCOIN_SPF_ONLYALL

# tflags publish
BITCOIN_WFH_01

# good enough
BITCOIN_XPRIO

# tflags publish
BITCOIN_YOUR_INFO

# good enough
BODY_EMPTY

# good enough
BODY_SINGLE_URI

# tflags net
BODY_URI_ONLY

# tflags publish
BOGUS_MIME_VERSION

# tflags publish
BOGUS_MSM_HDRS

# tflags publish
BOMB_FREEM

# tflags publish
BOMB_MONEY

# tflags net
BTC_ORG

# tflags publish
BULK_RE_SUSP_NTLD

# tflags publish
CANT_SEE_AD

# tflags userconf
CHARSET_FARAWAY

# tflags userconf
CHARSET_FARAWAY_HEADER

# good enough
CK_HELO_GENERIC

# tflags publish
CN_B2B_SPAMMER

# tflags publish
COMMENT_GIBBERISH

# tflags net
COMPENSATION

# tflags publish
CONTENT_AFTER_HTML

# tflags publish
CORRUPT_FROM_LINE_IN_HDRS

# tflags publish
CTE_8BIT_MISMATCH

# good enough
CTYPE_NULL

# good enough
DATE_IN_FUTURE_96_Q

# tflags publish
DAY_I_EARNED

# good enough
DEAR_BENEFICIARY

# tflags net
DIGEST_MULTIPLE

# tflags net
DKIMWL_BL

# tflags net
DKIMWL_BLOCKED

# tflags net
DKIMWL_WL_HIGH

# tflags net
DKIMWL_WL_MED

# tflags net
DKIMWL_WL_MEDHI

# tflags net
DKIM_ADSP_ALL

# tflags net
DKIM_ADSP_CUSTOM_HIGH

# tflags net
DKIM_ADSP_CUSTOM_LOW

# tflags net
DKIM_ADSP_CUSTOM_MED

# tflags net
DKIM_ADSP_DISCARD

# tflags net
DKIM_ADSP_NXDOMAIN

# tflags net
DKIM_INVALID

# tflags net
DKIM_SIGNED

# tflags net
DKIM_VALID

# tflags net
DKIM_VALID_AU

# tflags net
DKIM_VALID_EF

# tflags publish
DOS_ANAL_SPAM_MAILER

# tflags net
DOS_DEREK_AUG08

# good enough
DOS_OE_TO_MX

# good enough
DOS_OUTLOOK_TO_MX

# tflags publish
DOTGOV_IMAGE

# good enough
DSN_NO_MIMEVERSION

# tflags publish
DX_TEXT_02

# tflags publish
DX_TEXT_03

# tflags publish
DYNAMIC_IMGUR

# tflags publish
EBAY_IMG_NOT_RCVD_EBAY

# tflags publish
EMRCP

# tflags publish
ENCRYPTED_MESSAGE

# tflags net
END_FUTURE_EMAILS

# tflags publish
ENVFROM_GOOG_TRIX

# tflags net
ENV_AND_HDR_SPF_MATCH

# good enough
FAKE_REPLY_A1

# tflags publish
FBI_MONEY

# tflags publish
FBI_SPOOF

# tflags publish
FILL_THIS_FORM

# good enough
FILL_THIS_FORM_LONG

# tflags publish
FONT_INVIS_DIRECT

# tflags publish
FONT_INVIS_DOTGOV

# tflags publish
FONT_INVIS_HTML_NOHTML

# tflags publish
FONT_INVIS_LONG_LINE

# tflags publish
FONT_INVIS_MSGID

# tflags publish
FONT_INVIS_NORDNS

# tflags publish
FONT_INVIS_POSTEXTRAS

# good enough
FORGED_RELAY_MUA_TO_MX

# tflags net
FORGED_SPF_HELO

# tflags net
FORM_FRAUD

# tflags net
FORM_FRAUD_3

# tflags publish
FORM_FRAUD_5

# tflags net
FORM_LOW_CONTRAST

# tflags publish
FOUND_YOU

# tflags userconf
FRAGMENTED_MESSAGE

# tflags publish
FREEMAIL_FORGED_FROMDOMAIN

# tflags publish
FREEMAIL_WFH_01

# tflags publish
FREEM_FRNUM_UNICD_EMPTY

# tflags publish
FRNAME_IN_MSG_XPRIO_NO_SUB

# good enough
FROM_2_EMAILS_SHORT

# tflags publish
FROM_ADDR_WS

# tflags net
FROM_BANK_NOAUTH

# tflags userconf
FROM_DOMAIN_NOVOWEL

# tflags net
FROM_FMBLA_NDBLOCKED

# tflags net
FROM_FMBLA_NEWDOM

# tflags net
FROM_FMBLA_NEWDOM14

# tflags net
FROM_FMBLA_NEWDOM28

# tflags net
FROM_GOV_DKIM_AU

# tflags net
FROM_GOV_REPLYTO_FREEMAIL

# tflags net
FROM_GOV_SPOOF

# tflags publish
FROM_IN_TO_AND_SUBJ

# tflags userconf
FROM_LOCAL_NOVOWEL

# good enough
FROM_MISSPACED

# good enough
FROM_MISSP_DYNIP

# good enough
FROM_MISSP_EH_MATCH

# good enough
FROM_MISSP_FREEMAIL

# good enough
FROM_MISSP_MSFT

# tflags net
FROM_MISSP_REPLYTO

# tflags net
FROM_MISSP_SPF_FAIL

# good enough
FROM_MISSP_TO_UNDISC

# good enough
FROM_MISSP_USER

# good enough
FROM_MULTI_NORDNS

# tflags net
FROM_NEWDOM_BTC

# tflags publish
FROM_NTLD_LINKBAIT

# tflags publish
FROM_NTLD_REPLY_FREEMAIL

# tflags net
FROM_NUMBERO_NEWDOMAIN

# good enough
FROM_NUMERIC_TLD

# tflags net
FROM_PAYPAL_SPOOF

# tflags publish
FROM_SUSPICIOUS_NTLD

# tflags publish
FROM_SUSPICIOUS_NTLD_FP

# good enough
FROM_WSP_TRAIL

# tflags net
FSL_BULK_SIG

# good enough
FSL_CTYPE_WIN1251

# tflags publish
FSL_NEW_HELO_USER

# tflags publish
FUZZY_AMAZON

# tflags publish
FUZZY_ANDROID

# tflags publish
FUZZY_APPLE

# tflags publish
FUZZY_BITCOIN

# tflags publish
FUZZY_BROWSER

# tflags publish
FUZZY_BTC_WALLET

# tflags publish
FUZZY_CLICK_HERE

# tflags publish
FUZZY_DR_OZ

# tflags publish
FUZZY_FACEBOOK

# tflags publish
FUZZY_IMPORTANT

# tflags publish
FUZZY_MICROSOFT

# tflags publish
FUZZY_MONERO

# tflags publish
FUZZY_NORTON

# tflags publish
FUZZY_OVERSTOCK

# tflags publish
FUZZY_PAYPAL

# tflags publish
FUZZY_PORN

# tflags publish
FUZZY_PRIVACY

# tflags publish
FUZZY_PROMOTION

# tflags publish
FUZZY_SAVINGS

# tflags publish
FUZZY_SECURITY

# tflags publish
FUZZY_UNSUBSCRIBE

# tflags publish
FUZZY_WALLET

# tflags publish
GAPPY_SALES_LEADS_FREEM

# tflags publish
GB_FAKE_RF_SHORT

# tflags publish
GB_FORGED_MUA_POSTFIX

# tflags publish
GB_FREEMAIL_DISPTO

# tflags publish
GB_FREEMAIL_DISPTO_NOTFREEM

# tflags publish
GB_GOOGLE_OBFUR

# good enough
GB_GOOGLE_OBFUS

# tflags publish
GOOGLE_DOCS_PHISH

# tflags publish
GOOGLE_DOCS_PHISH_MANY

# tflags publish
GOOGLE_DOC_SUSP

# tflags publish
GOOGLE_DRIVE_REPLY_BAD_NTLD

# tflags publish
GOOG_MALWARE_DNLD

# tflags publish
GOOG_REDIR_DOCUSIGN

# good enough
GOOG_REDIR_NORDNS

# tflags publish
GOOG_REDIR_SHORT

# tflags publish
GOOG_STO_HTML_PHISH

# tflags publish
GOOG_STO_HTML_PHISH_MANY

# tflags publish
GOOG_STO_IMG_HTML

# tflags publish
GOOG_STO_IMG_NOHTML

# tflags publish
GOOG_STO_NOIMG_HTML

# tflags userconf
GTUBE

# tflags publish
HAS_X_NO_RELAY

# tflags publish
HAS_X_OUTGOING_SPAM_STAT

# tflags net
HDRS_LCASE

# good enough
HDRS_LCASE_IMGONLY

# tflags publish
HDRS_MISSP

# tflags publish
HDR_ORDER_FTSDMCXX_DIRECT

# tflags publish
HDR_ORDER_FTSDMCXX_NORDNS

# tflags publish
HEADER_FROM_DIFFERENT_DOMAINS

# tflags userconf
HEAD_LONG

# good enough
HELO_LH_HOME

# good enough
HELO_LOCALHOST

# tflags publish
HELO_NO_DOMAIN

# tflags publish
HEXHASH_WORD

# tflags publish
HK_CTE_RAW

# good enough
HK_NAME_DRUGS

# good enough
HK_NAME_FM_MR_MRS

# good enough
HK_NAME_MR_MRS

# tflags publish
HK_RANDOM_ENVFROM

# tflags publish
HK_RANDOM_FROM

# tflags publish
HK_RANDOM_REPLYTO

# tflags publish
HK_RCVD_IP_MULTICAST

# tflags publish
HK_SCAM

# good enough
HK_WIN

# tflags publish
HOSTED_IMG_DIRECT_MX

# tflags publish
HOSTED_IMG_DQ_UNSUB

# tflags publish
HOSTED_IMG_FREEM

# tflags publish
HOSTED_IMG_MULTI

# tflags publish
HOSTED_IMG_MULTI_PUB_01

# tflags userconf
HTML_CHARSET_FARAWAY

# tflags publish
HTML_ENTITY_ASCII

# tflags publish
HTML_ENTITY_ASCII_TINY

# tflags publish
HTML_OFF_PAGE

# tflags publish
HTML_SHRT_CMNT_OBFU_MANY

# tflags net
HTML_SINGLET_MANY

# tflags net
HTML_TEXT_INVISIBLE_FONT

# tflags publish
HTML_TEXT_INVISIBLE_STYLE

# tflags publish
IMG_ONLY_FM_DOM_INFO

# tflags publish
JH_SPAMMY_HEADERS

# tflags publish
JH_SPAMMY_PATTERN01

# tflags publish
JH_SPAMMY_PATTERN02

# tflags net
KHOP_FAKE_EBAY

# tflags net
KHOP_HELO_FCRDNS

# tflags publish
LIST_PRTL_PUMPDUMP

# tflags publish
LIST_PRTL_SAME_USER

# tflags publish
LONG_HEX_URI

# tflags publish
LONG_IMG_URI

# tflags publish
LONG_INVISIBLE_TEXT

# tflags publish
LOTS_OF_MONEY

# good enough
LOTTO_AGENT

# good enough
LOTTO_DEPT

# tflags publish
LUCRATIVE

# good enough
MALFORMED_FREEMAIL

# tflags publish
MALF_HTML_B64

# tflags publish
MALWARE_NORDNS

# tflags publish
MALWARE_PASSWORD

# tflags publish
MALW_ATTACH

# tflags net
MANY_HDRS_LCASE

# tflags publish
MANY_SPAN_IN_TEXT

# tflags net
MAY_BE_FORGED

# tflags publish
MILLION_HUNDRED

# good enough
MILLION_USD

# tflags publish
MIMEOLE_DIRECT_TO_MX

# tflags userconf
MIME_CHARSET_FARAWAY

# tflags publish
MIME_NO_TEXT

# tflags userconf
MISSING_HB_SEP

# tflags publish
MIXED_AREA_CASE

# tflags publish
MIXED_CENTER_CASE

# good enough
MIXED_CTYPE_CASE

# tflags publish
MIXED_ES

# tflags publish
MIXED_FONT_CASE

# tflags publish
MIXED_HREF_CASE

# tflags publish
MIXED_IMG_CASE

# tflags publish
MONERO_DEADLINE

# tflags publish
MONERO_EXTORT_01

# tflags publish
MONERO_MALWARE

# tflags publish
MONERO_PAY_ME

# good enough
MONEY_ATM_CARD

# good enough
MONEY_FORM

# good enough
MONEY_FORM_SHORT

# tflags publish
MONEY_FRAUD_3

# tflags publish
MONEY_FRAUD_5

# tflags publish
MONEY_FRAUD_8

# tflags publish
MONEY_FREEMAIL_REPTO

# good enough
MONEY_FROM_41

# good enough
MONEY_FROM_MISSP

# good enough
MONEY_NOHTML

# tflags publish
MSGID_DOLLARS_URI_IMG

# tflags publish
MSGID_HDR_MALF

# good enough
MSGID_NOFQDN1

# good enough
MSMAIL_PRI_ABNORMAL

# tflags publish
MSM_PRIO_REPTO

# good enough
MSOE_MID_WRONG_CASE

# good enough
NAME_EMAIL_DIFF

# good enough
NA_DOLLARS

# tflags publish
NEWEGG_IMG_NOT_RCVD_NEGG

# good enough
NICE_REPLY_A

# tflags net
NML_ADSP_CUSTOM_HIGH

# tflags net
NML_ADSP_CUSTOM_LOW

# tflags net
NML_ADSP_CUSTOM_MED

# tflags net
NORDNS_LOW_CONTRAST

# tflags publish
NOT_SPAM

# tflags net
NO_DNS_FOR_FROM

# tflags publish
NO_FM_NAME_IP_HOSTN

# tflags userconf
NO_RECEIVED

# tflags userconf
NO_RELAYS

# good enough
NSL_RCVD_FROM_USER

# good enough
NSL_RCVD_HELO_USER

# good enough
NUMBEREND_LINKBAIT

# tflags publish
OBFU_BITCOIN

# tflags publish
OBFU_JVSCR_ESC

# tflags publish
OBFU_TEXT_ATTACH

# tflags publish
OBFU_UNSUB_UL

# tflags publish
ODD_FREEM_REPTO

# good enough
OFFER_ONLY_AMERICA

# good enough
PDS_BAD_THREAD_QP_64

# good enough
PDS_BTC_ID

# good enough
PDS_BTC_MSGID

# good enough
PDS_DBL_URL_TNB_RUNON

# good enough
PDS_FRNOM_TODOM_DBL_URL

# good enough
PDS_FRNOM_TODOM_NAKED_TO

# tflags net
PDS_FROM_2_EMAILS

# good enough
PDS_FROM_2_EMAILS_SHRTNER

# good enough
PDS_FROM_NAME_TO_DOMAIN

# tflags net
PDS_HELO_SPF_FAIL

# good enough
PDS_NAKED_TO_NUMERO

# good enough
PDS_NO_FULL_NAME_SPOOFED_URL

# good enough
PDS_OTHER_BAD_TLD

# good enough
PDS_SHORTFWD_URISHRT_QP

# good enough
PDS_SHORT_SPOOFED_URL

# good enough
PDS_TINYSUBJ_URISHRT

# good enough
PDS_TONAME_EQ_TOLOCAL_FREEM_FORGE

# good enough
PDS_TONAME_EQ_TOLOCAL_HDRS_LCASE

# good enough
PDS_TONAME_EQ_TOLOCAL_SHORT

# good enough
PDS_TONAME_EQ_TOLOCAL_VSHORT

# good enough
PDS_TO_EQ_FROM_NAME

# good enough
PDS_URISHRT_LOCALPART_SUBJ

# tflags publish
PHISH_ATTACH

# tflags publish
PHISH_AZURE_CLOUDAPP

# tflags publish
PHISH_FBASEAPP

# good enough
PHOTO_EDITING_DIRECT

# good enough
PHOTO_EDITING_FREEM

# tflags publish
PHP_NOVER_MUA

# tflags publish
PHP_ORIG_SCRIPT

# tflags publish
PHP_SCRIPT

# tflags publish
PHP_SCRIPT_MUA

# tflags publish
PP_MIME_FAKE_ASCII_TEXT

# tflags publish
PP_TOO_MUCH_UNICODE02

# tflags publish
PP_TOO_MUCH_UNICODE05

# tflags publish
PUMPDUMP

# tflags publish
PUMPDUMP_MULTI

# tflags publish
PUMPDUMP_TIP

# tflags net
PYZOR_CHECK

# tflags publish
RAND_HEADER_LIST_SPOOF

# tflags publish
RAND_HEADER_MANY

# tflags publish
RAND_MKTG_HEADER

# good enough
RATWARE_NO_RDNS

# tflags net
RAZOR2_CF_RANGE_51_100

# tflags net
RAZOR2_CHECK

# tflags publish
RCVD_DBL_DQ

# tflags publish
RCVD_DOTEDU_SHORT

# tflags publish
RCVD_DOTEDU_SUSP_URI

# tflags net
RCVD_IN_BL_SPAMCOP_NET

# tflags net
RCVD_IN_DNSWL_BLOCKED

# tflags net
RCVD_IN_DNSWL_HI

# tflags net
RCVD_IN_DNSWL_LOW

# tflags net
RCVD_IN_DNSWL_MED

# tflags net
RCVD_IN_DNSWL_NONE

# tflags net
RCVD_IN_IADB_DK

# tflags net
RCVD_IN_IADB_DOPTIN

# tflags net
RCVD_IN_IADB_DOPTIN_GT50

# tflags net
RCVD_IN_IADB_DOPTIN_LT50

# tflags net
RCVD_IN_IADB_EDDB

# tflags net
RCVD_IN_IADB_EPIA

# tflags net
RCVD_IN_IADB_GOODMAIL

# tflags net
RCVD_IN_IADB_LISTED

# tflags net
RCVD_IN_IADB_LOOSE

# tflags net
RCVD_IN_IADB_MI_CPEAR

# tflags net
RCVD_IN_IADB_MI_CPR_30

# tflags net
RCVD_IN_IADB_MI_CPR_MAT

# tflags net
RCVD_IN_IADB_ML_DOPTIN

# tflags net
RCVD_IN_IADB_NOCONTROL

# tflags net
RCVD_IN_IADB_OOO

# tflags net
RCVD_IN_IADB_OPTIN

# tflags net
RCVD_IN_IADB_OPTIN_GT50

# tflags net
RCVD_IN_IADB_OPTIN_LT50

# tflags net
RCVD_IN_IADB_OPTOUTONLY

# tflags net
RCVD_IN_IADB_RDNS

# tflags net
RCVD_IN_IADB_SENDERID

# tflags net
RCVD_IN_IADB_SPF

# tflags net
RCVD_IN_IADB_UNVERIFIED_1

# tflags net
RCVD_IN_IADB_UNVERIFIED_2

# tflags net
RCVD_IN_IADB_UT_CPEAR

# tflags net
RCVD_IN_IADB_UT_CPR_30

# tflags net
RCVD_IN_IADB_UT_CPR_MAT

# tflags net
RCVD_IN_IADB_VOUCHED

# tflags net
RCVD_IN_MAPS_DUL

# tflags net
RCVD_IN_MAPS_NML

# tflags net
RCVD_IN_MAPS_OPS

# tflags net
RCVD_IN_MAPS_RBL

# tflags net
RCVD_IN_MAPS_RSS

# tflags net
RCVD_IN_MSPIKE_BL

# tflags net
RCVD_IN_MSPIKE_H2

# tflags net
RCVD_IN_MSPIKE_H3

# tflags net
RCVD_IN_MSPIKE_H4

# tflags net
RCVD_IN_MSPIKE_H5

# tflags net
RCVD_IN_MSPIKE_L2

# tflags net
RCVD_IN_MSPIKE_L3

# tflags net
RCVD_IN_MSPIKE_L4

# tflags net
RCVD_IN_MSPIKE_L5

# tflags net
RCVD_IN_MSPIKE_WL

# tflags net
RCVD_IN_MSPIKE_ZBI

# tflags net
RCVD_IN_PBL

# tflags net
RCVD_IN_PSBL

# tflags net
RCVD_IN_RP_CERTIFIED

# tflags net
RCVD_IN_RP_RNBL

# tflags net
RCVD_IN_RP_SAFE

# tflags net
RCVD_IN_SBL

# tflags net
RCVD_IN_SBL_CSS

# tflags net
RCVD_IN_SORBS_BLOCK

# tflags net
RCVD_IN_SORBS_DUL

# tflags net
RCVD_IN_SORBS_HTTP

# tflags net
RCVD_IN_SORBS_MISC

# tflags net
RCVD_IN_SORBS_SMTP

# tflags net
RCVD_IN_SORBS_SOCKS

# tflags net
RCVD_IN_SORBS_WEB

# tflags net
RCVD_IN_SORBS_ZOMBIE

# tflags net
RCVD_IN_XBL

# tflags net
RCVD_IN_ZEN_BLOCKED

# tflags net
RCVD_IN_ZEN_BLOCKED_OPENDNS

# tflags publish
RDNS_NUM_TLD_ATCHNX

# tflags publish
RDNS_NUM_TLD_XM

# good enough
REPLYTO_EMPTY

# good enough
REPLYTO_WITHOUT_TO_CC

# tflags publish
REPTO_419_FRAUD

# tflags publish
REPTO_419_FRAUD_AOL

# tflags publish
REPTO_419_FRAUD_AOL_LOOSE

# tflags publish
REPTO_419_FRAUD_CNS

# tflags publish
REPTO_419_FRAUD_GM

# tflags publish
REPTO_419_FRAUD_GM_LOOSE

# tflags publish
REPTO_419_FRAUD_HM

# tflags publish
REPTO_419_FRAUD_OL

# tflags publish
REPTO_419_FRAUD_PM

# tflags publish
REPTO_419_FRAUD_QQ

# tflags publish
REPTO_419_FRAUD_YH

# tflags publish
REPTO_419_FRAUD_YH_LOOSE

# tflags publish
REPTO_419_FRAUD_YJ

# tflags publish
REPTO_419_FRAUD_YN

# good enough
RISK_FREE

# tflags publish
SENDGRID_REDIR

# tflags publish
SENDGRID_REDIR_PHISH

# tflags publish
SEO_SUSP_NTLD

# good enough
SERGIO_SUBJECT_VIAGRA01

# tflags publish
SHOPIFY_IMG_NOT_RCVD_SFY

# tflags publish
SHORTENER_SHORT_IMG

# good enough
SHORTENER_SHORT_SUBJ

# tflags publish
SHORT_IMG_SUSP_NTLD

# good enough
SHORT_SHORTNER

# tflags net
SINGLETS_LOW_CONTRAST

# tflags net
SPF_FAIL

# tflags net
SPF_HELO_FAIL

# tflags net
SPF_HELO_NEUTRAL

# tflags net
SPF_HELO_NONE

# tflags net
SPF_HELO_PASS

# tflags net
SPF_HELO_SOFTFAIL

# tflags net
SPF_NEUTRAL

# tflags net
SPF_NONE

# tflags net
SPF_PASS

# tflags net
SPF_SOFTFAIL

# tflags net
SPOOFED_FREEMAIL

# tflags net
SPOOFED_FREEMAIL_NO_RDNS

# tflags net
SPOOFED_FREEM_REPTO

# tflags net
SPOOFED_FREEM_REPTO_CHN

# tflags net
SPOOFED_FREEM_REPTO_RUS

# tflags net
SPOOF_GMAIL_MID

# tflags publish
STATIC_XPRIO_OLE

# tflags net
STOCK_LOW_CONTRAST

# tflags publish
STOCK_TIP

# tflags userconf
SUBJECT_IN_BLACKLIST

# tflags userconf
SUBJECT_IN_WHITELIST

# tflags net
SUBJ_BRKN_WORDNUMS

# tflags net
SUBJ_UNNEEDED_HTML

# tflags net
SURBL_BLOCKED

# good enough
SUSP_UTF8_WORD_SUBJ

# tflags publish
SYSADMIN

# tflags net
TEQF_USR_IMAGE

# tflags net
TEQF_USR_MSGID_HEX

# tflags net
TEQF_USR_MSGID_MALF

# tflags publish
THIS_AD

# tflags publish
THIS_IS_ADV_SUSP_NTLD

# tflags publish
TONLINE_FAKE_DKIM

# good enough
TONOM_EQ_TOLOC_SHRT_SHRTNER

# tflags publish
TO_EQ_FM_DIRECT_MX

# tflags net
TO_EQ_FM_DOM_HTML_IMG

# tflags net
TO_EQ_FM_DOM_HTML_ONLY

# tflags net
TO_EQ_FM_DOM_SPF_FAIL

# tflags net
TO_EQ_FM_HTML_ONLY

# tflags net
TO_EQ_FM_SPF_FAIL

# tflags publish
TO_IN_SUBJ

# tflags publish
TO_NAME_SUBJ_NO_RDNS

# good enough
TO_NO_BRKTS_FROM_MSSP

# tflags publish
TO_NO_BRKTS_HTML_IMG

# tflags publish
TO_NO_BRKTS_HTML_ONLY

# tflags net
TO_NO_BRKTS_MSFT

# tflags publish
TO_NO_BRKTS_NORDNS_HTML

# tflags publish
TO_NO_BRKTS_PCNT

# tflags publish
TO_TOO_MANY_WFH_01

# good enough
TVD_IP_HEX

# good enough
TVD_IP_SING_HEX

# good enough
TVD_QUAL_MEDS

# good enough
TVD_RCVD_SPACE_BRACKET

# tflags net
TVD_SPACE_ENCODED

# tflags net
TVD_SPACE_RATIO_MINFP

# tflags net
TVD_SUBJ_NUM_OBFU_MINFP

# good enough
TVD_VISIT_PHARMA

# tflags publish
TW_GIBBERISH_MANY

# tflags publish
UC_GIBBERISH_OBFU

# tflags publish
UNDISC_FREEM

# tflags publish
UNDISC_MONEY

# tflags publish
UNICODE_OBFU_ASC

# tflags publish
UNICODE_OBFU_ZW

# tflags userconf
UNPARSEABLE_RELAY

# tflags net
UPGRADE_MAILBOX

# tflags net
URIBL_ABUSE_SURBL

# tflags net
URIBL_BLACK

# tflags net
URIBL_BLOCKED

# tflags net
URIBL_CR_SURBL

# tflags net
URIBL_CSS

# tflags net
URIBL_CSS_A

# tflags net
URIBL_DBL_ABUSE_BOTCC

# tflags net
URIBL_DBL_ABUSE_MALW

# tflags net
URIBL_DBL_ABUSE_PHISH

# tflags net
URIBL_DBL_ABUSE_REDIR

# tflags net
URIBL_DBL_ABUSE_SPAM

# tflags net
URIBL_DBL_BLOCKED

# tflags net
URIBL_DBL_BLOCKED_OPENDNS

# tflags net
URIBL_DBL_BOTNETCC

# tflags net
URIBL_DBL_ERROR

# tflags net
URIBL_DBL_MALWARE

# tflags net
URIBL_DBL_PHISH

# tflags net
URIBL_DBL_SPAM

# tflags net
URIBL_GREY

# tflags net
URIBL_MW_SURBL

# tflags net
URIBL_PH_SURBL

# tflags net
URIBL_RED

# tflags net
URIBL_RHS_DOB

# tflags net
URIBL_SBL

# tflags net
URIBL_SBL_A

# tflags net
URIBL_WS_SURBL

# tflags net
URIBL_ZEN_BLOCKED

# tflags net
URIBL_ZEN_BLOCKED_OPENDNS

# tflags publish
URI_ADOBESPARK

# tflags publish
URI_AZURE_CLOUDAPP

# tflags publish
URI_DASHGOVEDU

# tflags publish
URI_DATA

# good enough
URI_DOTDOT_LOW_CNTRST

# tflags publish
URI_DOTEDU

# tflags publish
URI_DOTEDU_ENTITY

# tflags publish
URI_DOTTY_HEX

# tflags publish
URI_DQ_UNSUB

# tflags publish
URI_FIREBASEAPP

# tflags publish
URI_GOOGLE_PROXY

# tflags publish
URI_GOOG_STO_SPAMMY

# tflags publish
URI_HEX_IP

# tflags userconf
URI_HOST_IN_BLACKLIST

# tflags userconf
URI_HOST_IN_WHITELIST

# tflags publish
URI_IMG_WP_REDIR

# tflags publish
URI_MALWARE_SCMS

# good enough
URI_MYSP_AC

# tflags userconf
URI_NOVOWEL

# tflags net
URI_ONLY_MSGID_MALF

# tflags publish
URI_OPTOUT_3LD

# tflags publish
URI_OPTOUT_USME

# tflags publish
URI_PHISH

# tflags publish
URI_PHP_REDIR

# tflags publish
URI_TRY_3LD

# tflags publish
URI_TRY_USME

# tflags publish
URI_WPADMIN

# tflags publish
URI_WP_DIRINDEX

# tflags net
URI_WP_HACKED

# tflags net
URI_WP_HACKED_2

# tflags publish
USB_DRIVES

# tflags userconf
USER_IN_ALL_SPAM_TO

# tflags userconf
USER_IN_BLOCKLIST

# tflags userconf
USER_IN_BLOCKLIST_TO

# tflags net
USER_IN_DEF_DKIM_WL

# tflags net
USER_IN_DEF_SPF_WL

# tflags userconf
USER_IN_DEF_WELCOMELIST

# tflags net
USER_IN_DKIM_WHITELIST

# tflags userconf
USER_IN_MORE_SPAM_TO

# tflags net
USER_IN_SPF_WHITELIST

# tflags userconf
USER_IN_WELCOMELIST

# tflags userconf
USER_IN_WELCOMELIST_TO

# tflags publish
VFY_ACCT_NORDNS

# tflags publish
VPS_NO_NTLD

# tflags publish
WALMART_IMG_NOT_RCVD_WAL

# tflags publish
WORD_INVIS

# tflags publish
WORD_INVIS_MANY

# good enough
XFER_LOTSA_MONEY

# tflags publish
XM_DIGITS_ONLY

# good enough
XM_LIGHT_HEAVY

# tflags publish
XM_PHPMAILER_FORGED

# tflags publish
XM_RANDOM

# good enough
XM_RECPTID

# tflags net
XPRIO

# tflags publish
XPRIO_SHORT_SUBJ

# good enough
XPRIO_URL_SHORTNER
