Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Jun 2008 20:14:34 +1000
From:      Jerahmy Pocott <quakenet1@optusnet.com.au>
To:        freebsd-isp@freebsd.org
Subject:   Re: Storing a local copy of out going SMTP
Message-ID:  <D59CD545-02AA-4841-A826-5DE68EB5DD0F@optusnet.com.au>
In-Reply-To: <54930FD0-5217-4D4A-8118-D2ADF8413514@optusnet.com.au>
References:  <54930FD0-5217-4D4A-8118-D2ADF8413514@optusnet.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help

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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D59CD545-02AA-4841-A826-5DE68EB5DD0F>