diff options
author | Lars Wirzenius <liw@liw.fi> | 2014-07-06 15:24:36 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2014-07-06 15:24:36 +0100 |
commit | 8432d6b54589070b1f8b481c4728659e4d119c84 (patch) | |
tree | 423c89ed680f3909009feb1b69184ab6b910d31f /ARCH | |
parent | 8498e7bd42342b3646fea98930907c3d8238c548 (diff) | |
download | distix-8432d6b54589070b1f8b481c4728659e4d119c84.tar.gz |
Add to ARCH how incoming mails are ingested
Diffstat (limited to 'ARCH')
-rw-r--r-- | ARCH | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -145,3 +145,30 @@ and how it's laid out is a good thing from flexibility, and doing it from the beginning avoids accidentally hardcoding things. Since the web interface is likely to be implemented using bottle.py, I'll use bottle's templating system. + + +Ingesting e-mails +================= + +Distix is meant to import e-mails and either open new tickets, or put +the e-mails in the right existing tickets. There's two use cases: + +1. Ingest an incoming mail directly from the MTA. +2. Ingest a folder of mails that have already been received. + +The first form is to be used when distix is subscribed to a mailing +list. The second form is for seeding a new distix instance from +existing emails. There is not much architectural difference between +the two cases. + +When ingesting, distix will read in the e-mail, and extract some +metadata from it. With the extracted metadata, distix will find an +existing ticket to which the mail belongs, if one exists. If no +existing ticket is suitable, a new ticket is opened. + +Given a ticket id, distix will put the e-mail in the ticket's Maildir. +It will use a SHA1 of the full text of the message (including the +headers, as received) as the filename for the message. If a message +with that filename already exists, distix assumes the new message is a +duplicate and skips it. This allows the user to import the same mail +folder multiple times, adding only new tickets. |