The basic 'Journaling' (or as I call it 'archiving') of email should be pretty simple with any MTA that allows you to tee off a copy of the message (or BCC it to a journalling account). I'm sure I read some stuff on it a while ago in relation to Postfix and Exim.
Where it gets somewhat stickier is indexing archived email so you can search it by content/subject/date/attachment etc. When I looked at this a while ago I could not find a direct FOSS application that would run out of the box. At odds with that is the fact that Barracuda Networks make and sell a 'Message Archiver'. This company has a reputation of just lifting FOSS and gluing it together with Perl scripts and by this metric there is probably something out there to do this and a fish around http://freshmeat.net/
may be a good place to start.