Filtering the ASF Secretary Inbox
It was only a matter of time, but apparently a few spammers have discovered the Apache Secretary mailing list address. It’s time to integrate SpamAssassin into the Secretary Workflow:
import email from subprocess import Popen, PIPE from threading import Thread def analyze(msg): spamc = Popen('spamc', shell=True, stdin=PIPE, stdout=PIPE) class passthru(Thread): def __init__(self, stdin, msg): Thread.__init__(self) self.msg = msg self.stdin = stdin def run(self): email.generator.Generator(self.stdin).flatten(self.msg) self.stdin.close() thread = passthru(spamc.stdin, msg) thread.start() msg = email.message_from_file(spamc.stdout) setattr(msg, 'spam', str(msg['X-Spam-Status']).startswith('Yes')) thread.join() spamc.stdout.close() spamc.wait() return msg