If you use something like QMail
this is pretty easy since you can insert programs
into the processing stream that could, in fact,
be written in Perl. There is a wide variety of
locations where you can hook in to the mail
stream, and each provides different information.
As a cheap hack, you could just make something that
smells like the 'rmail' program used by your mailer,
assuming you're using something like the archaic
'Sendmail'. Your rmail program could, instead of
delivering the message, put it into the database.
Have a look in /etc/sendmail.cf
for details on what program you're using. If this
file makes no sense, use QMail.