From owner-freebsd-isp@FreeBSD.ORG Tue Jun 10 20:46:55 2008 Return-Path: Delivered-To: freebsd-isp@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C5361065671 for ; Tue, 10 Jun 2008 20:46:55 +0000 (UTC) (envelope-from quakenet1@optusnet.com.au) Received: from fallbackmx06.syd.optusnet.com.au (fallbackmx06.syd.optusnet.com.au [211.29.132.8]) by mx1.freebsd.org (Postfix) with ESMTP id 394F08FC21 for ; Tue, 10 Jun 2008 20:46:54 +0000 (UTC) (envelope-from quakenet1@optusnet.com.au) Received: from mail03.syd.optusnet.com.au (mail03.syd.optusnet.com.au [211.29.132.184]) by fallbackmx06.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id m5AAEfAa020231 for ; Tue, 10 Jun 2008 20:14:41 +1000 Received: from [10.0.2.3] (c122-106-190-227.belrs3.nsw.optusnet.com.au [122.106.190.227]) by mail03.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id m5AAEZHb026535 for ; Tue, 10 Jun 2008 20:14:36 +1000 Message-Id: From: Jerahmy Pocott To: freebsd-isp@freebsd.org In-Reply-To: <54930FD0-5217-4D4A-8118-D2ADF8413514@optusnet.com.au> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v924) Date: Tue, 10 Jun 2008 20:14:34 +1000 References: <54930FD0-5217-4D4A-8118-D2ADF8413514@optusnet.com.au> X-Mailer: Apple Mail (2.924) Subject: Re: Storing a local copy of out going SMTP X-BeenThere: freebsd-isp@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Internet Services Providers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jun 2008 20:46:55 -0000 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. > $* $@ $1<@$2.>$3 Already archived, map back R$* < @ $+ .procmail > $* $@ $1<@$2.>$3 Already archived, map back R$* < @ $+. > $* $#procmail $@ /etc/procmailrcs/rc.archive $: $1<@$2.procmail.>$3 R$* < @ $+ > $* $#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.