Send DSN for permerror before processing extended result. An additional DSN may be sent based on extended result. Rescind whitelist for banned extensions, in case sender is infected. Train honeypot on error only. Find rfc2822 policy for MFROM quoting. Support explicit errors for SPF policy in access file: SPF-Neutral:aol.com ERROR:"550 AOL mail must get SPF PASS" Defer TEMPERROR in SPF evaluation - give precedence to security (only defer for PASS mechanisms). Option to add Received-SPF header, but never reject on SPF. I think the above will handle this. Create null config that does nothing - except maybe add Received-SPF headers. Many admins would like to turn features on one at a time. Can't output messages with malformed rfc822 attachments. Move milter,Milter,mime,spf modules to pymilter milter package will have bms.py application Web admin interface message log for automated stats and blacklisting Skip dspam when SPF pass? NO Report 551 with rcpt on SPF fail? check spam keywords with character classes, e.g. {a}=[a@ãä], {i}=[i1í], {e}=[eë], {o}=[o0ö] Implement RRS - a backdoor for non-SRS forwarders. User lists non-SRS forwarder accounts, and a util provides a special local alias for the user to give to the forwarder. (Or user just adds arbitrary alias unique to that forwarder to a database.) Alias only works for mail from that forwarder. Milter gets forwarder domain from alias and uses it to SPF check forwarder. Framework for modular Python milter components within a single VM. Python milters can be already be composed through sendmail by running each in a separate process. However, a significant amount of memory is wasted for each additional Python VM, and communication between milters is cumbersome (e.g., adding mail headers, writing external files). Backup copies for outgoing/incoming mail. Copy incoming wiretap mail, even though sendmail alias works perfectly for the purpose, to avoid having to change two configs for a wiretap. Provide a way to reload milter.cfg without stopping/restarting milter. Allow selected Windows extensions for specific domains via milter.cfg Fix setup.py so that _FFR_QUARANTINE is automatically defined when available in libmilter. Keep separate ismodified flag for headers and body. This is important when rejecting outgoing mail with viruses removed (so as not to embarrass yourself), and also removing Received headers with hidepath. Need a test module to feed sample messages to a milter though a live sendmail and SMTP. The mockup currently used is probably not very accurate, and doesn't test the threading code.