You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-dev@james.apache.org by si...@james.apache.org on 2005/02/28 20:54:17 UTC

[Apache James Wiki] New: MailingListManager

   Date: 2005-02-28T11:54:17
   Editor: NoelBergman
   Wiki: Apache James Wiki
   Page: MailingListManager
   URL: http://wiki.apache.org/james/MailingListManager

   Initial content copied from March 2004 proposal

New Page:

Proposal for improved (proper) Mailing List Manager for James
----

To seed this discussion, the content begins with a March 2004 proposal for a mailing list manager for Apache James that implements the key features of ezmlm and other mailing list managers.  I am listing the major features in brief, so that you don't need to read a lot of detail on concepts you already understand, but if there is anything unclear, please ask.

  - archives (mbox and maildir formats)
    - write to a suitable format for a separate web archiver, e.g., eyebrowse
    - provision for simple index/get operations, and later commands as desired.
    - ability to feed eyebrowse
  - DSN/bounce detection, probe, and subscriber removal
  - digests (by size or frequency; inline or attachments; possibly RSS)
  - extensible action library, allowing additional mail commands
    (e.g., subscribe, confirm, accept, allow, deny, etc.) to be added
  - filtering
  - header modification (add/remove)
  - LDAP-based identity and list management
    - language-neutral; bindings for many languages
    - could provide a web-based management interface
  - list member management: confirmed opt-in (subscribe) w/records,
    opt-out with list, unsubscribe
  - list member properties: subscriber, digest subscriber, allowed,
    denied, pending, bounce, opt-out, moderator, manager
  - list-specific configuration for many of these features
    - some features, such as filtering and modification are
      provided by Apache James.  The concept being added is
      the configuration of pre-existing capabilities on a
      per-list basis through the list manager.
  - mail list domains (allowing list creation within a domain
    by a domain manager)
  - manager permissions: subscribe, unsubscribe, allow, deny, moderate message
  - message modification, e.g., bounce/drop/remove/moderate MIME type,
    add footer
  - moderation (messages and/or subscribers)
  - parameterized custom texts (shared and per-list)
  - subscriber list / address obfuscation
  - VERP

Obviously, some of those are more core features than others, and the project can be scoped as desired.  The core is the LDAP-based management and extensible action library, upon which everything else is built.  In a pinch, any writable JNDI store could be made to work, but wouldn't be accessible from other languages.