Python imaplib independence and successfull login without a copy of the library
[imap-restore-mail] / mail_iterator.py
index d1c359f..fa1de73 100644 (file)
@@ -4,12 +4,12 @@ restore-mail-inject.py - Tool to inject mails via IMAP
 Copyright (c) 2012 Intra2net AG
 '''
 
-import socket, imaplib_private as imaplib
+import socket, imaplib
 import re
 
 MAILBOX_RESP = re.compile(r'\((?P<flags>.*?)\) "(?P<delimiter>.*)" (?P<name>.*)')
 UIDVAL_RESP = re.compile(r'(?P<name>.*) \(UIDVALIDITY (?P<uidval>.*)\)')
-ACLS_RESP = re.compile(r'(?P<user>.*) (?P<acls>.*)')
+ACLS_RESP = re.compile(b'(?P<user>.*) (?P<acls>.*)')
 
 class MailIterator:
     """This class communicates with the e-mail server."""
@@ -28,9 +28,11 @@ class MailIterator:
         # connect to server
         try:
             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
+            # MODIFIED
+            imap_socket = socket.socket(socket.AF_UNIX)
+            imap_socket.connect("/var/imap/socket/imap")
+            self.mail_con.sock = imap_socket
+            self.mail_con.file = self.mail_con.sock.makefile('rb')
             print("Connected to mail server.")
         except Exception as ex:
             #raise UserWarning("Could not connect to host: %s" % (ex))