Converted to unit sockets and cyrus server log in
authorPlamen Dimitrov <plamen.dimitrov@intra2net.com>
Fri, 6 Jul 2012 15:19:54 +0000 (17:19 +0200)
committerPlamen Dimitrov <plamen.dimitrov@intra2net.com>
Fri, 6 Jul 2012 15:19:54 +0000 (17:19 +0200)
mail_iterator.py
restore_mail_inject.py

index 3c260c3..d1c359f 100644 (file)
@@ -4,7 +4,7 @@ restore-mail-inject.py - Tool to inject mails via IMAP
 Copyright (c) 2012 Intra2net AG
 '''
 
-import imaplib
+import socket, imaplib_private as imaplib
 import re
 
 MAILBOX_RESP = re.compile(r'\((?P<flags>.*?)\) "(?P<delimiter>.*)" (?P<name>.*)')
@@ -22,20 +22,25 @@ class MailIterator:
     # logged in status
     logged_in = None
 
-    def __init__(self, server, username, password):
+    def __init__(self, username):
         """Creates a connection and a user session."""
 
         # connect to server
         try:
-            self.mail_con = imaplib.IMAP4_SSL(server)
-            print("Connected to %s." % server)
+            self.mail_con = imaplib.IMAP4("intranator.m.i2n")
+            #imap_socket = socket.socket(socket.AF_UNIX)
+            #imap_socket.connect("/var/imap/socket/imap")
+            #self.mail_con.socket = imap_socket
+            print("Connected to mail server.")
         except Exception as ex:
-            raise UserWarning("Could not connect to host %s: %s" % (server, ex))
+            #raise UserWarning("Could not connect to host: %s" % (ex))
+            raise
 
         # log in
         try:
-            self.mail_con.login(username, password)
+            self.mail_con.login("cyrus", "geheim")
             self.logged_in = True
+            #self.mail_con.proxyauth(username)
             print("Logged in as %s." % username)
         except:
             self.logged_in = False
@@ -128,7 +133,7 @@ class MailIterator:
 
     def inject_message(self, message, mailbox, internal_date):
         """Inject a message into a mailbox."""
-        result, data = self.mail_con.append(mailbox, "\\Seen", internal_date, message)
+        result, data = self.mail_con.append(mailbox, "\\Seen", internal_date, message.encode())
         if result == "OK":
             print("Appending message to mailbox %s" % mailbox)
         else:
index 1cca29a..791e380 100644 (file)
@@ -23,11 +23,11 @@ def main():
 
     # connect
     try:
-        session = MailIterator("gwt-intranator.m.i2n", "mit.punkt", "mit.punkt")
+        session = MailIterator(args.user)
         #session = MailIterator("/var/imap/socket/imap", "cyrus", "geheim")
         storage = FileIterator()
-    except UserWarning:
-        print("Couldn't connect to IMAP server.")
+    except UserWarning as ex:
+        print(ex)
         return
 
     # retrieve mailbox list from the mailbox list file