[rt-devel] stacked email handlers

ivan ivan-rt-devel at 420.am
Thu Sep 21 12:17:53 EDT 2000

I'll still be busy with the schema stuff for another day or two at least
(but I promose, a patch is on its way), so you have time to tell me all
the things that are wrong here before I start writing code (or even a more
detailed spec :) 

Replication of current RT1 procmail functionality with stackable Perl
plugins inside RT itself.  Write plugins to (stacked in this order):
  - Archive message
  - Parsing of header fields, etc.
  - Drop bounces and other messages based on configurable regexs against
    header fields, i.e. abuse.net bounces,
  - Drop duplicates based on checksum of body
  - RT1 `stripmime' - remove non-text attachments and change to URL
  - (Normal RT processing)
  - Stop processing before autoreply based on queue name
  - (above drop plugin used again to drop undesirable messages before
    autoreply - undesirable From: addresses {mailer-daemon, daemon,
    listserv, majordomo}, Precendence: {junk, list, bulk, noreply,
    bofh}, X-RT: loop-prevention)
  - Per-ticket check for 1 message per timeframe (probably a database
    field for timestamp of last autoreply) -> stop processing before
  - drop messages based on a database table of blacklist addresses
  - Autoreply

Plugin interface:
    - Message (probably an object with headers parsed, email
      addresses decoded, etc., but need a way for the archive plugin and
      possibly others should get the raw text first)
    - Queue name
    - Ticket#
    - Arbitrary data store with per-plugin namespace (for AgentId and
      other abuse outsourcing features, etc.)


More information about the Rt-devel mailing list