def open_by_key(key): fn = queue_path(key) fd = open(fn, 'r') m = email.Parser.Parser().parse(fd) wlemail.parse_message(m) fd.close() return m
def open_by_key (key): fn = queue_path (key) fd = open (fn, 'r') m = email.Parser.Parser().parse (fd) wlemail.parse_message (m) fd.close () return m
def add_confirmed (l): db = wledb.connect_db () c = db.cursor () wl = wleconfig.config.getboolean ('DEFAULT', 'confirm_whitelist') for i in l: if not _well_formed_re.match (i): continue m = email.Message.Message () m['From'] = i wlemail.parse_message (m) if not wl and is_in_list (m, 'whitelist'): continue if wleconfirm.is_mine ([i]): continue if not is_in_confirmed_list ([i], c): wlelog.log (2, 'Adding %s as authorized address' % i) c.execute ("insert into confirmed values ('%s', %f)" % (i.lower(), time.time ())) count_authorized () wleconfirm.also_unblock (i) db.commit ()
def add_confirmed(l): db = wledb.connect_db() c = db.cursor() wl = wleconfig.config.getboolean('DEFAULT', 'confirm_whitelist') for i in l: if not _well_formed_re.match(i): continue m = email.Message.Message() m['From'] = i wlemail.parse_message(m) if not wl and is_in_list(m, 'whitelist'): continue if wleconfirm.is_mine([i]): continue if not is_in_confirmed_list([i], c): wlelog.log(2, 'Adding %s as authorized address' % i) c.execute("insert into confirmed values ('%s', %f)" % (i.lower(), time.time())) count_authorized() wleconfirm.also_unblock(i) db.commit()
def logic(m): count_received() wlemail.parse_message(m) log_summary(m) if wleconfirm.is_old_confirm(m): wlemail.add_action(m, 'Related to an old confirmation request') wleconfirm.deliver_mail(m, 'confirmedbox') return if wlemail.from_mailerdaemon(m): key = wleconfirm.is_confirm(m) if key: wlemail.add_action(m, 'Bounce of confirmation request') count_junk() wleconfirm.deliver_mail(m, 'junkbox') if wleconfig.config.getboolean('DEFAULT', 'auto_delete_bounce'): count_rejected() try: wleconfirm.move_message_from_queue(key, 'junkbox', 'Confirmation bounced') except: pass return if wlemail.sent_to_me(m): wlemail.add_action(m, 'Mailer daemon get through') wlemail.add_magic(m) wleconfirm.deliver_mail(m, 'mailbox') return else: wlemail.add_action(m, 'Suspect mailer daemon message') wleconfirm.deliver_mail(m, 'junkbox') return key = wleconfirm.is_confirm(m) if key: if not wlemail.is_junk(m): count_confirmed() wlelog.log(3, 'Found key in mail') handle_confirmation(m, key) return wlelog.log(3, 'Will not accept confirmation from junk message') x = wlelists.is_in_list(m, 'ignorelist') if x: wlemail.add_action(m, 'Ignore list (%s), junk box' % x) wleconfirm.deliver_mail(m, 'junkbox') count_junk() return x = wlemail.contains_command(m) if x: x(m) return if wlemail.contains_magic(m): wlemail.add_action(m, 'Message contains magic number') handle_ok(m) if wleconfig.config.getboolean('DEFAULT', 'magic_add_sender'): wlelists.snoop_addresses(m) return x = wlelists.is_in_list(m, 'whitelist') if x: wlemail.add_action(m, 'White list (%s)' % x) handle_ok(m) if wleconfig.config.getboolean('DEFAULT', 'confirm_whitelist'): wlelists.add_confirmed(m.msenders) return if wlelists.is_in_confirmed_list(m.msenders): wlemail.add_action(m, 'Sender found in authorized list') handle_ok(m) return if wlemail.from_mailinglist(m): wlemail.add_action(m, 'Bulk mail') wleconfirm.deliver_mail(m, 'bulkbox') count_bulk() return if wlemail.is_junk(m): wlemail.add_action(m, 'Junk mail') wleconfirm.deliver_mail(m, 'junkbox') count_junk() return # A new confirmation request is a good time to cleanup databases wleconfirm.cleanup_dbs() wleconfirm.queue(m) count_queued() return
def logic (m): count_received () wlemail.parse_message (m) log_summary (m) if wleconfirm.is_old_confirm (m): wlemail.add_action (m, 'Related to an old confirmation request') wleconfirm.deliver_mail (m, 'confirmedbox') return if wlemail.from_mailerdaemon (m): key = wleconfirm.is_confirm (m) if key: wlemail.add_action (m, 'Bounce of confirmation request') count_junk () wleconfirm.deliver_mail (m, 'junkbox') if wleconfig.config.getboolean ('DEFAULT', 'auto_delete_bounce'): count_rejected () try: wleconfirm.move_message_from_queue (key, 'junkbox', 'Confirmation bounced') except: pass return if wlemail.sent_to_me (m): wlemail.add_action (m, 'Mailer daemon get through') wlemail.add_magic (m) wleconfirm.deliver_mail (m, 'mailbox') return else: wlemail.add_action (m, 'Suspect mailer daemon message') wleconfirm.deliver_mail (m, 'junkbox') return key = wleconfirm.is_confirm (m) if key: if not wlemail.is_junk (m): count_confirmed () wlelog.log (3, 'Found key in mail') handle_confirmation (m, key) return wlelog.log (3, 'Will not accept confirmation from junk message') x = wlelists.is_in_list (m, 'ignorelist') if x: wlemail.add_action (m, 'Ignore list (%s), junk box' % x) wleconfirm.deliver_mail (m, 'junkbox') count_junk () return x = wlemail.contains_command (m) if x: x (m) return if wlemail.contains_magic (m): wlemail.add_action (m, 'Message contains magic number') handle_ok (m) if wleconfig.config.getboolean ('DEFAULT', 'magic_add_sender'): wlelists.snoop_addresses (m) return x = wlelists.is_in_list (m, 'whitelist') if x: wlemail.add_action (m, 'White list (%s)' % x) handle_ok (m) if wleconfig.config.getboolean ('DEFAULT', 'confirm_whitelist'): wlelists.add_confirmed (m.msenders) return if wlelists.is_in_confirmed_list (m.msenders): wlemail.add_action (m, 'Sender found in authorized list') handle_ok (m) return if wlemail.from_mailinglist (m): wlemail.add_action (m, 'Bulk mail') wleconfirm.deliver_mail (m, 'bulkbox') count_bulk () return if wlemail.is_junk (m): wlemail.add_action (m, 'Junk mail') wleconfirm.deliver_mail (m, 'junkbox') count_junk () return # A new confirmation request is a good time to cleanup databases wleconfirm.cleanup_dbs () wleconfirm.queue (m) count_queued () return