procmail
[Top] [All Lists]

Re: Scanning IMAP mail (first solution)

2009-11-16 19:49:12
On Mon, 2009-11-16 at 16:48 -0600, JW Simpson wrote:

On Mon, 2009-11-16 at 14:18 -0700, LuKreme wrote: 

On 16-Nov-2009, at 11:43, JW Simpson wrote:
Well I don't have the same mailbox setup that you have.
I've developed enough interest in your project though, that if you want
to zip up your Maildir ( with any sensitive info purged, of course ),
and e-mail it to me, I'd be happy to experiment and see what I can come
up with.


I made sure there where some new emails (11 I think) and I stripped out the 
non-current mailboxes. It's all list mail, so not at all private personal, 
etc.

(url clipped)



I have a recursive for loop for procmail if you want to get *really* fancy. :D

I'm sorry ... I just couldn't wait any longer :-D

        john(_at_)system76-pc:~/LuKreme/tmp$ echo "" | procmail -pm
        LuKreme.rc
        
        2 .httpd-users.2009-11
        1 .mailman-users.2009-11
        5 .mythtv-users.2009-11
        1 .postfix-users.2009-11
        2 .procmail.2009-11
        11 Total
          Folder: /dev/null                                                     
      1
        
        john(_at_)system76-pc:~/LuKreme/tmp$ cat LuKreme.rc 
        NL="
        "
        LOGFILE=/dev/stderr
        
        CUR_LIST=`/usr/bin/find Maildir/ -regex
        '.*/cur/.*,'|/usr/bin/gawk -F/ '{print $2}'`
        LISTS=`uniq <<< "$CUR_LIST"`
        
        :0
        * 1^1 LISTS ?? ^.*$
        { COUNT = $= }
        
        FOR_INDEX = 1                   # required
        FOR_MAXIMUM = $COUNT            # required
        FOR_PROCEDURE='tally.rc'        # required
        INCLUDERC='swa-for_loop.rc'
        
        :0
        * 1^1 CUR_LIST ?? ^.*$
        { TALLY="$TALLY$NL$= Total" }
        
        LOG="$TALLY
        "
        
        :0 
        /dev/null
        
        john(_at_)system76-pc:~/LuKreme/tmp$ cat tally.rc
        LIST=`/bin/sed -ne ${FOR_INDEX}p <<< "$LISTS"`
        
        :0
        *$ 1^1 CUR_LIST ?? $LIST
        { TALLY="$TALLY$NL$= $LIST" }
        
        john(_at_)system76-pc:~/LuKreme/tmp$ cat swa-for_loop.rc 
        # swa-for_loop.rc
        # Copyright 2009, SwaJime's Cove
        # Author: John W. Simpson
        # Version: 1.0.0
        # Date: 30-Oct-2009
        #
        # Recursive for loop
        #   Maybe I'm blind?  Procmail doesn't seem to have a "for
        loop" (or while,until,goto,gosub,loop,etc...)
        #   This procedure uses recursion to simulate this bash for
        loop:
        # 
        # Example usage: 
        #
        # # for (( FOR_INDEX = 0; FOR_INDEX <= 9; do procedure.rc; done
        # FOR_INDEX = 0                   # required
        # FOR_MAXIMUM = 9                 # required
        # FOR_PROCEDURE='procedure.rc'    # required
        # INCLUDERC='swa-for_loop.rc'
        #
        
        # LOG="   FOR $FOR_INDEX OF $FOR_MAXIMUM; doing $FOR_PROCEDURE
        $NL"
        
        INCLUDERC=$FOR_PROCEDURE
        :0
        *$ $FOR_INDEX^0
        * 1^0
        {
           FOR_INDEX=$=
           :0
           * 1^0
           *$ $FOR_MAXIMUM^0
           *$ -$FOR_INDEX^0
           {
              INCLUDERC = $_
           }
        }
        
        john(_at_)system76-pc:~/LuKreme/tmp$ 


-- 
JW Simpson <john(_at_)swajime(_dot_)com>
SwaJime's Cove℠
____________________________________________________________
procmail mailing list   Procmail homepage: http://www.procmail.org/
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)de
http://mailman.rwth-aachen.de/mailman/listinfo/procmail