Feature Request: "IMAP V-Folders"

Keywords: virtual mail folders, server side filters

Author: Andrei Pozolotin @ Nikitova LLC http://www.nikitova.com 2005-11-22

Please read http://tools.ietf.org/id/draft-ietf-lemonade-vfolder-01.txt.
I would very much like to implement this, and do it in conjunction with a standard. –Aaron

SUMMARY:

  1. permit multiple dbmail_messages for different dbmail_mailboxes for the same dbmail_physmessage
  2. permit server-side rules to create and manage dbmail_mailboxes
  3. permit server-side rules to automatically create multiple dbmail_messages & “place” them to the appropriate dbmail_mailboxes

CONTENTS:

  1. Problem
  2. Solution
  3. Proposal for DBMAIL
  4. Enhancements
  5. Examples

DETAILS:

Problem:

Consider a typical B2B email correspondence

Actors:

“Them”:

 Customer1
    TheirPerson1 - project manager
    TheirPerson2 - project team member

“Us”:

 OurCompany
    OurPerson1 - project manager
    OurPerson2 - project team member
    OurPerson3 - project team member
    Project1 - the project "we" are doing for "them", 
       and this protect has an email distribution group "Project1.Customer1@... "

Typical Email Addressing:

A) from “them”

 FROM: TheirPerson1@Customer1.com
 TO: OurPerson1@OurCompany.com
 CC: OurPerson2@OurCompany.com, TheirPerson2@Customer1.com, Project1.Customer1@OurCompany.com

B) from “us”

 FROM: OurPerson2@OurCompany.com
 TO: TheirPerson1@Customer1.com
 CC: OurPerson1@OurCompany.com, TheirPerson2@Customer1.com, Project1.Customer1@OurCompany.com

C) “money talk” - email restricted to Project Managers only:

 FROM: TheirPerson1@Customer1.com
 TO: OurPerson1@OurCompany.com
 CC: OurPerson10@OurCompany.com, Managers.Project1.Customer1@OurCompany.com

PROBLEM: “EMAIL HELL”

  1. how automatically classify, store & share all this mail? for the whole team?
  2. how to instantly & intuitively find mail - by person? - by project? - by customer?
  3. how automatically enforce security? Project Managers should see all email, but Team Members only a subset of it.

Solution:

This is how ideally an email message should be stored in IMAP:

A) unrestricted email from “them”, team visible:

 FROM: TheirPerson1@Customer1.com
 TO: OurPerson1@OurCompany.com
 CC: OurPerson2@OurCompany.com, TheirPerson2@Customer1.com, Project1.Customer1@OurCompany.com
 +Public_Folders
    +Customers
       +Customer1
           +TheirPerson1
              => visible email copy
           +Project1
              => visible email copy

B) unrestricted email from “us”, team visible:

 FROM: OurPerson2@OurCompany.com
 TO: TheirPerson1@Customer1.com
 CC: OurPerson1@OurCompany.com, TheirPerson2@Customer1.com, Project1.Customer1@OurCompany.com
 +Public_Folders
    +Customers
       +Customer1
          +TheirPerson2
             => visible email copy
          +Project1
             => visible email copy

C) email restricted to Project Managers only, team NOT visible:

 FROM: TheirPerson1@Customer1.com
 TO: OurPerson1@OurCompany.com
 CC: OurPerson10@OurCompany.com, Managers.Project1.Customer1@OurCompany.com
 +Public_Folders
    +Customers
       +Customer1
          +TheirPerson1
             => NO email visible copy here, NO.
          +Project1
             +Managers <= only Project Mangers have access to this
                => visible email copy

Proposal for DBMAIL

Development Context (as of 2005-11-22):

  1. DBMAIL already have “abstraction layers”:
    1. description: er-model
  2. DBMAIL already have mailbox level security:
    1. description: er-model
  3. DBMAIL is already considering server side parser:
    1. “Server-side filtering is probably the most efficient way of dealing with your emails…”
    2. description: filer_table
  4. DMAIL is already considering even more “abstraction”:
    1. “How about taking everything out of the message body and just keep it as reference..”
    2. description: separate_msg_content

THE PROPOSAL:

  1. permit multiple dbmail_messages for different dbmail_mailboxes for the same dbmail_physmessage
  2. permit server-side rules to create and manage dbmail_mailboxes
  3. permit server-side rules to automatically create multiple dbmail_messages & “place” them to the appropriate dbmail_mailboxes

Enhancements

  1. store message MD5 of original email for each dbmail_messageblks to eliminate possible duplicate mails
  2. based on this MD5 automatically re-link dbmail_messageblks & dbmail_messages

EXAMPLE USES

Folders for COMPANIES:

  1. if not already exist
  2. automatically create dbmail_mailboxes for a COMPANY - based on Actor address, presence in FROM:/TO:/CC: fields:
  3. use email Customer1.com as folder UUID, but name folders like this: Company Name (Customer1.com)
  4. inherit security from parent folders
 TO: FirstName LastName (F.LastName@Customer1.com)
 +Public_Folders
    +Customers
       +Company Name (Customer1.com)

Folders for PEOPLE:

  1. if not already exist
  2. automatically create dbmail_mailboxes based on Actor address, presence in FROM:/TO:/CC: fields:
  3. use email F.LastName@Customer1.com as folder UUID, but name folders like this FirstName LastName (F.LastName@Customer1.com)
  4. inherit security from parent folders
  5. example:
 FROM: OurPerson2@OurCompany.com
 TO: FirstName LastName (F.LastName@Customer1.com)
 CC: OurPerson1@OurCompany.com, TheirPerson2@Customer1.com, Project1.Customer1@OurCompany.com
 +Public_Folders
    +Customers
       +Customer1 (Customer1.com)
           +FirstName LastName (F.LastName@Customer1.com)  <= newly created folder
              => visible email copy

Folders for PROJECTS:

  1. emails send to addresses such as Managers.Project1.Customer1@OurCompany.com
  2. automatically result if folders adipex-p such as
 +Public_Folders
    +Customers
       +Customer1
          +Project1
             +Managers <= newly created folder
                => visible email copy
  1. and email is not copied / duplicated elsewhere
 
v-folders.txt · Last modified: 2012/02/27 21:42 by bas
 
DBMail is developed by Paul J Stevens together with developers world-wide