def _fetch_email_count(self, conn, config_setting): count = 0 try: conf_set = ConfigSettings(self.acct_set_path) from_search_criteria = '' subject_search_criteria = '' search_criteria = '' self.email_poll_interval = int(conf_set.get_value('general', 'email_poll_interval')) # Check emails sent from list of senders config_from = conf_set.get_value(config_setting, 'from').split('; ') config_subject = conf_set.get_value(config_setting, 'subject').split('; ') # Compile list of FROM search criteria from_search_criteria = self._compile_search_criteria('FROM', config_from) # Compile list of FROM search criteria subject_search_criteria = self._compile_search_criteria('SUBJECT', config_subject) search_criteria = from_search_criteria + subject_search_criteria if search_criteria != '': # Show only unread emails search_criteria = search_criteria + '(UNSEEN)' # Search using defined criteria typ, msg_ids = conn.search(None, search_criteria) # Set email counts if msg_ids[0] != '': count = len(msg_ids[0].split(' ')) else: count = 0 if self.verbose == True: print 'INBOX has %d email(s) matching %s' % (count, search_criteria) else: count = 0 except: pass return count
def open_connection(verbose=False): # Read the config file conf = ConfigSettings('account_settings.ini') # Connect to the server hostname = conf.get_value('server', 'hostname') if verbose: print 'Connecting to', hostname connection = imaplib.IMAP4_SSL(hostname) # Login to our account username = conf.get_value('account', 'username') password = conf.get_value('account', 'password') if verbose: print 'Logging in as', username connection.login(username, password) return connection
def _fetch_email_count(self, conn, config_setting): count = 0 try: conf_set = ConfigSettings(self.acct_set_path) from_search_criteria = '' subject_search_criteria = '' search_criteria = '' self.email_poll_interval = int( conf_set.get_value('general', 'email_poll_interval')) # Check emails sent from list of senders config_from = conf_set.get_value(config_setting, 'from').split('; ') config_subject = conf_set.get_value(config_setting, 'subject').split('; ') # Compile list of FROM search criteria from_search_criteria = self._compile_search_criteria( 'FROM', config_from) # Compile list of FROM search criteria subject_search_criteria = self._compile_search_criteria( 'SUBJECT', config_subject) search_criteria = from_search_criteria + subject_search_criteria if search_criteria != '': # Show only unread emails search_criteria = search_criteria + '(UNSEEN)' # Search using defined criteria typ, msg_ids = conn.search(None, search_criteria) # Set email counts if msg_ids[0] != '': count = len(msg_ids[0].split(' ')) else: count = 0 if self.verbose == True: print 'INBOX has %d email(s) matching %s' % ( count, search_criteria) else: count = 0 except: pass return count