Esempio n. 1
0
 def __init__(self, server, debug=0, do_expunge = options["imap", "expunge"] ):
     if ":" in server:
         server, port = server.split(':', 1)
         port = int(port)
     else:
         if options["imap", "use_ssl"]:
             port = 993
         else:
             port = 143
     if not hasattr(self, "ssl"):
         readline = self.readline
         self.readline = self.readline_timeout
     try:
         BaseIMAP.__init__(self, server, port)
     except (BaseIMAP.error, socket.gaierror, socket.error):
         if options["globals", "verbose"]:
             print >> sys.stderr, "Cannot connect to server", server, "on port", port
             if not hasattr(self, "ssl"):
                 print >> sys.stderr, ("If you are connecting to an SSL server,"
                                       "please ensure that you\n"
                                       "have the 'Use SSL' option enabled.")
         self.connected = False
     else:
         self.connected = True
     if not hasattr(self, "ssl"):
         self.readline = readline
     self.debug = debug
     self.do_expunge = do_expunge
     self.server = server
     self.port = port
     self.logged_in = False
     self.current_folder = None
     self._read = self.read
     self.read = self.safe_read
Esempio n. 2
0
    def __init__(self, server, port, debug=0, do_expunge=False):
        try:
            BaseIMAP.__init__(self, server, port)
        except (BaseIMAP.error, socket.gaierror, socket.error):
            print "Cannot connect to server %s on port %s" % (server, port)
            sys.exit(-1)
        self.debug = debug
        # For efficiency, we remember which folder we are currently
        # in, and only send a select command to the IMAP server if
        # we want to *change* folders.  This function is used by
        # both IMAPMessage and IMAPFolder.
        self.current_folder = None
        self.do_expunge = do_expunge
        self.logged_in = False

        # We override the base read so that we only read a certain amount
        # of data at a time.  OS X and Python has problems with getting 
        # large amounts of memory at a time, so maybe this will be a way we
        # can work around that (I don't know, and don't have a mac to test,
        # but we need to try something).
        self._read = self.read
        self.read = self.safe_read