[Mimedefang] mimedefang send a copy of all mails to a directory
mdlist-20140424 at billmail.scconsult.com
Mon Jun 27 12:21:06 EDT 2016
On 27 Jun 2016, at 9:01, Shaun Megaw wrote:
> I have the following entry
> sub filter_begin
> system('cp', 'INPUTMSG', '/home/shaun');
> This created a file called /home/shaun/INPUTMSG which is over written
> by each new mail
> Is there a way to send a copy of all mails in individual files to a
Sure: it's called Maildir.
Postfix supports Maildir directly. With Sendmail you can use procmail or
Dovecot's 'deliver' program to deliver to Maildir. Procmail also
supports a less complex file-per-message directory structure that the
'mh' mail reader uses which might suffice in you case but is less safe.
In mimedefang-filter, you can get every message dropped into a Maildir's
'new' subdirectory by calling the add_recipient() subroutine in
filter_end() with an address that you've configured for Maildir
delivery. This does NOT add headers or any other data to the message(s)
delivered to the the existing recipient(s).
The advantages of using a mature delivery agent into Maildir:
1. You get an established mechanism for naming and handling files,
assuring that you cannot ever collide names and consumers can always be
assured that they are looking at a completely-written file.
2. You get logging (if you want it) by your MTA and/or the delivery
3. You can (if you want it) make a Maildir available via IMAP or (if
you're nostalgic) POP.
> The reason I ask i we are using a archiving solution which imports
> .eml files and I need to figure out a way to export all mails to .eml
> BCC filter will not work as the archiving server can only accept .eml
I don't know what exactly you are referring to as "BCC filter" but the
file that Postfix or Courier or Procmail or Dovecot will deliver in
~/Maildir/new/ is precisely identical to what a MUA will save as a .eml
file after retrieving that message, with the possible exception of
linebreak representations: on Windows a .eml has carriage returns,
essentially every other modern system uses linefeeds. The MIMEDefang
INPUTMSG file will also differ from the delivered message in that
INPUTMSG lacks a local Received header. A delivered message (and hence a
MUA-generated .eml) may also have headers which are added in the
delivery process such as Return-Path, X-Original-To, and Delivered-To.
More information about the MIMEDefang