Milter Log Documentation

The milter log from the bms.py application has a variety of "tags" in it that indicate what it did.
DSPAM: honeypot SCREENED
message was quarantined to the honeypot quarantine
REJECT: hello SPF: fail 550 access denied
REJECT: hello SPF: softfail 550 domain in transition
REJECT: hello SPF: neutral 550 access neither permitted nor denied
message was rejected because there was an SPF policy for the HELO name, and it did not pass.
CBV: sender-17-44662668-643@bluepenmagic.com
we performed a call back verification
dspam
dspam identifier was added to the message
REJECT: spam from self: jsconnor.com
message was reject because HELO was us (jsconnor.com)
INNOC: richh
message was used to update richh's dspam dictionary
HONEYPOT: pooh@bwicorp.com
message was sent to a honeypot address (pooh@bwicorp.com), the message was added to the honeypot dspam dictionary as spam
REJECT: numeric hello name: 63.217.19.146
message was rejected because helo name was invalid (numeric)
eom
message was successfully received
TEMPFAIL: CBV: 450 No MX servers available
we tried to do a call back verification but could not look up MX record, we told the sender to try again later
CBV: info@emailpizzahut.com (cached)
call back verification was needed, we had already done it recently
abort after 0 body chars
sender hung up on us
REJECT: SPF fail 550 SPF fail: see http://openspf.org/why.html?sender=m.hendersonxk@163.net&ip=213.47.161.100
message was rejected because its sender's spf policy said to
REJECT: Subject: Cialis - No prescription needed!
message was rejected because its subject contained a bad expression
REJECT: zombie PC at 192.168.3.37 sending MAIL FROM seajdr@amritind.com
message was rejected because the connect ip was internal, but the sender was not. This is usually because a Windows PC is infected with malware.
X-Guessed-SPF: pass
When the SPF result is NONE, we guess a result based on the generic SPF policy "v=spf1 a/24 mx/24 ptr".
DSPAM: tonyc tonyc@example.com
message was sent to tonyc@example.com and it was identified as spam and placed in the tonyc dspam quarantine
REJECT: CBV: 550 calvinalstonis@ix.netcom.com...User unknown
REJECT: CBV: 553 sorry, that domain isn't in my list
REJECT: CBV: 554 delivery error: dd This user doesn't have an account
message was rejected because call back verification gave us a fatal error
Auto-Whitelist: user@example.com
recipient has been added to auto_whitelist.log because the message was sent from an internal IP and the recipient is not internal.
WHITELIST user@example.com
message is whitelisted because sender appears in auto_whitelist.log
BLACKLIST user@example.com
message is blacklisted because sender appears in blacklist.log or failed a CBV test.
TRAINSPAM: honeypot X-Dspam-Score: 0.002278
message was used to train screener dictionary as spam
TRAIN: honeypot X-Dspam-Score: 0.980203
message was used to train screener dictionary as ham