From 75566e1d078f6352c951196071b7d59f2f3b64bf Mon Sep 17 00:00:00 2001 From: Matěj Cepl Date: Sat, 29 Jan 2011 16:08:47 +0100 Subject: Original first draft of the script --- train_dspam_from_folder | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 train_dspam_from_folder diff --git a/train_dspam_from_folder b/train_dspam_from_folder new file mode 100755 index 0000000..df12433 --- /dev/null +++ b/train_dspam_from_folder @@ -0,0 +1,29 @@ +#!/usr/bin/python +import imaplib, subprocess, sys, email, os +cmd_string = "/usr/bin/dspam --user dspam --class=spam --source=error " \ + + "--deliver=summary --stdout --signature='%s' --debug" + +client = imaplib.IMAP4_SSL("luther.ceplovi.cz") +client.login("dspam","hnus") +client.select("Public folders/Junk") +status, resp = client.search(None, "ALL") +messages = resp[0].split() + +for msg in messages: + typ, msg_data = client.fetch(msg, '(RFC822)') + for response_part in msg_data: + if isinstance(response_part, tuple): + message = email.message_from_string(response_part[1]) + for header in [ 'subject', 'x-dspam-signature', 'from' ]: + print '%-8s: %s' \ + % (header.upper(), message[header]) + ret = subprocess.Popen(cmd_string \ + % message['x-dspam-signature'], shell=True).wait() + if ret == 0: + typ, response = client.store(msg, '+FLAGS', r'(\Deleted)') + else: + raise OSError, "dspam finished with failure code: %d" % ret + +client.expunge() +client.close() +client.logout() -- cgit