Storing a local copy of out going SMTP
Jerahmy Pocott
quakenet1 at optusnet.com.au
Tue Jun 10 20:46:55 UTC 2008
On 10/06/2008, at 3:11 PM, Jerahmy Pocott wrote:
> Hi,
>
> I have a 6.3 system running as a mail server, offering imap, pop3
> and smtp. The smtp server can be used from anywhere because all
> users are required to authenticate with SMTP AUTH and it supports
> TLS. This is using sendmail 8.14.2.
>
> What I would like to do is have any mail submitted to the SMTP
> server to get automatically stored into an imap mailbox (I'm using
> mbox format currently) for that user, preferably based on the
> username they supplied to authenticate, but it could also be by the
> 'mail from:' field. Previously I have been configuring the users
> mail clients to do this, but they have proven completely unreliable
> and of course they may use different clients at different locations
> etc. Obviously having the server do this is still not 100% reliable,
> since they could still possibly use a different SMTP server, but I'm
> not going to worry about that currently as it's unlikely to happen
> often.
>
> It's sort of an unusual thing to have the MTA do, so I'v not been
> able to find anything about how I can get this to happen.. I thought
> maybe there might be a way to get the sent mail to be processed
> through procmail or something first.. Any thoughts on the best way
> to make this happen?
I know I can get sendmail to run procmail on out going mail using the
mailertable or putting a local_rule in the mc file, but I'm worried
about what would happen when sendmail delivers mail to itself..
Resulting some some horrible loop..
For example:
LOCAL_RULE_0
R$* < @ $+ .procmail. > $* <tab>$@ $1<@$2.>$3 <tab>Already
archived, map back
R$* < @ $+ .procmail > $* <tab>$@ $1<@$2.>$3 <tab>Already
archived, map back
R$* < @ $+. > $* <tab>$#procmail $@ /etc/procmailrcs/rc.archive $:
$1<@$2.procmail.>$3
R$* < @ $+ > $* <tab>$#procmail $@ /etc/procmailrcs/rc.archive $:
$1<@$2.procmail.>$3
Though that works on incoming and outgoing..
Or another example:
LOCAL_CONFIG
# add .PROCMAIL to the pseudo-domain list
CP.PROCMAIL
LOCAL_RULE_0
R$+ < @ $+ .procmail . >
$#esmtp $@ $2 $: $1<@$2>
# match all other mail and send it to procmail script
R$+ < @ $+ . >
$#procmail $@/etc/procmailrcs/rc.archive $:$1<@$2.procmail>
I would prefer to implement as much of it through the mailertable
feature as possible though and I haven't seen any examples of doing
that..
Also I don't want it to cause problems with local or incoming mails..
Anyone have some insights?
Cheers,
J.
More information about the freebsd-isp
mailing list