1SMTP, LMTP, mail address handling 2- split_localpart(): check 'owner-special' handling, e.g. foo-request-spam@ 3- separate the application from SMTP protocol handling 4- one_response_for_all: report (propagate) all MTA SMTP responses if different 5 6MAIL MODIFICATIONS, EXPAND, NOTIFICATIONS: 7- use modified headers (and body?) as provided by SA ? 8- macro expander: do not replace formal arguments %<n> which are within 9 quoted replacement text (in the regexp macro as well); 10- use macro expander instead of simple string replacements 11 in Subject template edits; 12- provide per-recipient 'header_edits' property so that custom hooks 13 will be able to add per-recipient headers; suggested by Jacob Leaver; 14- per-virus notifications, e.g. include URL or instructions in DSN 15 (could make use of associative arrays in EXPAND if available); 16- don't send notifications if notifications text turns out to be empty, 17 making it possible for a macro expansion during customization 18 to turn off DSN (Florian Effenberger); 19- choose the admin sender address and From header in DSN 20 based on recipient address/domain (how to handle multiple recipient mail?); 21 22VIRUS AND OTHER MALWARE SCANNING: 23- some virus scanners need option '--mbox' when given full mail file, 24 but not on already decoded parts (Michael Boelen); 25- some scanners need proper file name extension to be able to recognize 26 and decode a file correctly; 27- viruses_that_recips_dont_care_about; 28- optimize-away banned checks when bypassing banned checks is requested 29 and $banned_namepath_re is used; 30- keep consulting a blacklist even if spam checking is bypassed; 31 32MAIL DECODING/DE-ARCHIVING: 33- unwrap pgp/gpg armoring, especially on signed-only messages; 34- file(1) is unable to differentiate or recognize various types 35 of pgp/gpg mail (signed/encrypted/armored/signature/key); 36- per-recipient bypass_decoding; 37- yEnc encoding www.yenc.org (NNTP); Appledouble encoding, Macintosh StuffIt; 38- store_mgr: stop_expensive_decoding_at=n ? 39- seek some solution to prevent decoder from attempting to create files 40 outside of its designated directory; 41- provide separate failure modes of expected (I/O, system) and unexpected 42 errors when decoding; 43 44INTERNALS, CODING, ... 45- use timers in a manner providing some resiliency to clock jumps; 46- use multi-timers Perl module? make timer independent of its use by SA; 47 48QUARANTINE 49- provide per-recipient headers such as X-Spam* scores in the quarantined msg; 50- do the quarantining later in the flow (after forwarding) to be able 51 to do the correct intersect between per-recipient quarantine_to 52 and per-recipient kill level and other blockings; 53- automatically turn off quarantinining when mail is to be delivered; 54- update msgrcpt.rs field after a quarantine release; 55- support quarantining by MTA (milter, HOLD); 56- invoke sa-learn when releasing false positives from quarantine; 57 58GENERAL, NEW FEATURES 59- provide a LDAP and SQL proxy (or make use of the Postfix proxy_read_maps) 60 to reduce the number of sessions to LDAP and SQL server; 61- "reverse AM.PDP" - lookups on external information sources or provide 62 information to external plugins; 63- should bypass* implicitly turn on *lovers? 64- do not notify recipient when they will receive mail anyway (D_PASS,*_lovers) 65- notify when placing on HOLD at MTA ? 66- configurable action on HOLD ? 67- timeout -> HOLD ? 68- notify at double bounce? (treat/describe as DISCARD) 69- store information about detected virus names to SQL when logging to SQL 70- AM.PDP should be able to split mail by discarding a request and explicitly 71 re-sending it 72 73DOCUMENTATION 74- documentation, documentation, documentation; 75- malformed mail project and the like: tests, write FAQ; 76- cleaner web page; 77 78SOME OF THE MORE SELF-CONTAINED PROJECTS 79- write a Perl module for interfacing with libarchive 80 (http://people.freebsd.org/~kientzle/libarchive/), which is an 81 ambitious (currently primarily FreeBSD) programming library that can 82 create and read several streaming archive formats, including most 83 popular tar variants and the POSIX cpio format. 84