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>