LINUX.ORG.RU

Re: Обработка procmail'ом локального файла

Не мудрствуя долго я написал себе такой скрипт на Python (первым параметром передается имя файла в формате unix mailbox с сообщениями, которые будут по одному скармливаться procmail'у) :

#!/usr/bin/python

import mailbox
import os.path
import popen2
import sys

MDA = "/usr/bin/procmail"

def mf_str( fp ) :
        return fp.read()

if len( sys.argv ) > 1 :
        mbox_path = sys.argv[1]
else :
        print >>sys.stderr, "Specify mailbox file"
        sys.exit(1)

mbox_fp = file( mbox_path, "r" )
mbox = mailbox.UnixMailbox( mbox_fp, mf_str )

i = 1
for msg in mbox :
        print >>sys.stderr, "Processing message: %d" % i
        mda = popen2.Popen3( MDA )
        mda.tochild.write( msg )
        mda.tochild.close()
        mda_rc = mda.wait()
        if mda_rc != 0 :
                print >>sys.stderr, "!!! MDA returned code: %d" % mda_rc
        i += 1

mbox_fp.close()

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.