示例#1
0
 def test_pop_client(self):
     account_config = {
         "user_name": "foo@localhost",
         "password": "******",
         "protocol": "pop3",
         "hostname": "localhost:{0}".format(SpamCanPOPTest.server_port),
         "smtp_host": "localhost"
     }
     account = database.Account(account_config)
     mail_handler = MailUtil()
     protocol_handler = mail_handler.request(account)
     count = protocol_handler.get_stats()
     protocol_handler.disconnect()
     self.assert_(count == 1)
示例#2
0
文件: test.py 项目: mushorg/spamcan
 def test_pop_client(self):
     account_config = {
                       "user_name": "foo@localhost",
                       "password": "******",
                       "protocol": "pop3",
                       "hostname": "localhost:{0}".format(SpamCanPOPTest.server_port),
                       "smtp_host": "localhost"
                       }
     account = database.Account(account_config)
     mail_handler = MailUtil()
     protocol_handler = mail_handler.request(account)
     count = protocol_handler.get_stats()
     protocol_handler.disconnect()
     self.assert_(count == 1)
示例#3
0
    def test_get_stats_method(self):

        tmpdir = tempfile.mkdtemp()
        try:
            write_config_files(tmpdir, SpamCanPOPTest.server_port)
            mail_handler = MailUtil()
            db = database.Database(conf_dir=tmpdir)
            account = db.fetch_by_id(1)
            protocol_handler = mail_handler.request(account)
            if protocol_handler:
                account.remote_count = protocol_handler.get_stats()
                protocol_handler.disconnect()
            self.assert_(account.remote_count == 1)
        finally:
            db.session.close()
            if os.path.isdir(tmpdir):
                shutil.rmtree(tmpdir)
示例#4
0
文件: test.py 项目: mushorg/spamcan
    def test_get_stats_method(self):

        tmpdir = tempfile.mkdtemp()
        try:
            write_config_files(tmpdir, SpamCanPOPTest.server_port)
            mail_handler = MailUtil()
            db = database.Database(conf_dir=tmpdir)
            account = db.fetch_by_id(1)
            protocol_handler = mail_handler.request(account)
            if protocol_handler:
                account.remote_count = protocol_handler.get_stats()
                protocol_handler.disconnect()
            self.assert_(account.remote_count == 1)
        finally:
            db.session.close()
            if os.path.isdir(tmpdir):
                shutil.rmtree(tmpdir)
示例#5
0
DEBUG = False

for path in ["data/", "data/files"]:
    if not os.path.exists(path):
        os.makedirs(path)

# Enable debugging mode
bottle.debug(DEBUG)

app = Bottle()

template_env = Environment(loader=FileSystemLoader("./templates"))

mdir = MaildirUtil()
mail_handler = MailUtil()
parser = mail_parser.MailParser()

# Connect to SQLite db to retrieve mail accounts
db = database.Database()
accounts = db.fetch_all()
# Initialize ElasticSearch connection
es = Elasticsearch()


def get_account_stats(account):
    protocol_handler = mail_handler.request(account)
    if protocol_handler:
        account.remote_count = protocol_handler.get_stats()
        protocol_handler.disconnect()
    else: