Esempio n. 1
0
        mails_path = settings.DATA_MAILS_PATH if type == 'relay' else settings.DATA_COLLECT_MAILS_PATH
        with open(os.path.join(rcpts_path, filename), 'wb') as f:
            f.write("\n".join(rcpttos))

        with open(os.path.join(mails_path, filename), 'wb') as f:
            f.write(data)
        log.info(
            'received %s mail: pid=%s, uid=%s, mail_from=%s, ok_rcpts=%s, body_len=%s, mail_id=%s, client_ip=%s'
            % (type, os.getpid(), uid, mailfrom, rcpttos, len(data), mail_id,
               client_ip))


if __name__ == '__main__':
    globals()['_DEBUG'] = Common.check_debug()
    #Common.init_makedir()
    Common.init_pid_file('bs_esmtpd.pid')
    Common.init_cfg_default()
    # Common.init_logger('Esmtpd', len(sys.argv) > 1, _DEBUG, user=Common.cfgDefault.get('global', 'user'))
    Common.signal_init(kill_children)

    # redis_db = get_redis_connection('default')
    redis_db = get_redis()
    auth = Authentication(connection, redis_db)
    listen_ip = Common.cfgDefault.get('esmtpd', 'listen_ip')
    listen_ports = map(
        lambda x: int(x),
        Common.cfgDefault.get('esmtpd', 'listen_port').split(','))
    timeout = int(Common.cfgDefault.get('esmtpd', 'timeout'))

    for listen_port in listen_ports:
        SMTPServer((listen_ip, listen_port),
Esempio n. 2
0
    signal_stop = True

def init_queue_and_pidfile():
    global MAIL_INCHECK_QUEUE, incheck_pid_file
    if len(sys.argv) > 1:
       MAIL_INCHECK_QUEUE = sys.argv[1]
       incheck_pid_file = MAIL_INCHECK_QUEUE + '.pid'


if __name__ == "__main__":
    globals()['_DEBUG'] = common.check_debug()
    init_queue_and_pidfile()
    common.init_cfg_default()
    common.init_run_user(common.cfgDefault.get('global', 'user'))
    common.init_makedir()
    common.init_pid_file(incheck_pid_file)
    common.init_logger(MAIL_INCHECK_QUEUE, len(sys.argv) > 2, _DEBUG)
    clamav_sock = common.cfgDefault.get('clamav', 'sock')
    review_help_mode = common.cfgDefault.get('review_help', 'mode')
    init_resource()
    gevent.spawn(init_resource_routine)

    # 运行程序
    EXIT_CODE = 0
    outinfo(u"program start")
    try:
        # 设置监听信号量
        common.gevent_signal_init(signal_handle)
        scanner()
    except KeyboardInterrupt:
        signal_handle('sigint')
Esempio n. 3
0
    outinfo('set bulk customer end')


def init_resource():
    global setting

    settings = Settings.objects.all()
    if settings:
        setting = settings[0]


if __name__ == "__main__":
    globals()['_DEBUG'] = Common.check_debug(2)
    Common.init_cfg_default()
    Common.init_run_user(Common.cfgDefault.get('global', 'user'))
    Common.init_pid_file('Statistics.pid')
    Common.init_logger('Statistics', len(sys.argv) > 1, _DEBUG)

    # 获取参数
    if len(sys.argv) >= 2:
        p_date = sys.argv[1]
    elif len(sys.argv) == 1:
        p_date = str(datetime.date.today())
    else:
        outerror("param_error")
        sys.exit(1)

    # 运行程序
    EXIT_CODE = 0
    outinfo("program start")
    init_resource()
Esempio n. 4
0
        with open(os.path.join(froms_path, filename), 'wb') as f:
            f.write(mailfrom)

        with open(os.path.join(mails_path, filename), 'wb') as f:
            f.write(data)
        log.info(
            'received %s mail: pid=%s, uid=%s, mail_from=%s, ok_rcpts=%s, body_len=%s, mail_id=%s, client_ip=%s'
            % (type, os.getpid(), uid, mailfrom, rcpttos, len(data), mail_id,
               client_ip))


if __name__ == '__main__':
    globals()['_DEBUG'] = Common.check_debug()
    # Common.init_makedir()
    Common.init_pid_file('postfix_bs_esmtpd.pid')
    Common.init_cfg_default()
    # Common.init_logger('Esmtpd', len(sys.argv) > 1, _DEBUG, user=Common.cfgDefault.get('global', 'user'))
    Common.signal_init(kill_children)

    # redis_db = get_redis_connection('default')
    redis_db = get_redis()
    auth = Authentication(connection, redis_db)
    listen_ip = Common.cfgDefault.get('postfix_esmtpd', 'listen_ip')
    listen_ports = map(
        lambda x: int(x),
        Common.cfgDefault.get('postfix_esmtpd', 'listen_port').split(','))
    timeout = int(Common.cfgDefault.get('postfix_esmtpd', 'timeout'))

    for listen_port in listen_ports:
        SMTPServer((listen_ip, listen_port),
Esempio n. 5
0
# ###########################################################
def main():
    init_resource()
    gevent.joinall([
        gevent.spawn(init_resource_routine),
        gevent.spawn(service_notice, 'relay'),
        gevent.spawn(service_notice, 'collect'),
        gevent.spawn(bulk_notice),
        gevent.spawn(review_notice),
        gevent.spawn(ip_notice),
        gevent.spawn(jam_notice),
        gevent.spawn(collect_limit_notice),
        gevent.spawn(relay_limit_notice),
        gevent.spawn(collect_dielver_exception_notice),
    ])


if __name__ == "__main__":
    globals()['_DEBUG'] = Common.check_debug()
    Common.init_cfg_default()
    Common.init_run_user(Common.cfgDefault.get('global', 'user'))
    Common.init_pid_file('Notice.pid')
    Common.init_logger('Notice', len(sys.argv) > 1, _DEBUG)

    # 运行程序
    EXIT_CODE = 0
    outinfo("program start")
    main()
    outinfo("program quit")
    sys.exit(EXIT_CODE)
Esempio n. 6
0
        pass
    while redis.rpoplpush(CREDIS_KEY_temp, CREDIS_KEY) is not None:
        pass


def main():
    init()
    gevent.joinall([
        gevent.spawn(sender_credit),
        gevent.spawn(csender_credit),
        gevent.spawn(init_resource_routine),
        gevent.spawn(clear_redis_routine),
        #gevent.spawn(push_data),
    ])



if __name__ == "__main__":
    globals()['_DEBUG'] = common.check_debug()
    common.init_cfg_default()
    common.init_run_user(common.cfgDefault.get('global', 'user'))
    common.init_pid_file('SenderCredit.pid')
    common.init_logger('SenderCredit', len(sys.argv) > 1, _DEBUG)

    # 运行程序
    EXIT_CODE = 0
    outinfo("program start")
    main()
    outinfo("program quit")
    sys.exit(EXIT_CODE)
Esempio n. 7
0
    signal_stop = True
    # for task_id in _threads:
    #     outinfo('task back to queue: %s' % task_id)
    #     redis.rpush(MAIL_INCHECK_QUEUE, task_id)
    # if mode != 'sigint': sys.exit(0)


############################################################

if __name__ == "__main__":
    globals()['_DEBUG'] = common.check_debug()
    common.init_cfg_default()
    common.init_run_user(common.cfgDefault.get('global', 'user'))
    common.make_dir([mails_path, rcpts_path, error_path, froms_path])
    common.init_makedir()
    common.init_pid_file('CHandleMail.pid')
    common.init_logger('CHandleMail', len(sys.argv) > 1, _DEBUG)

    # 运行程序
    EXIT_CODE = 0
    outinfo("program start")
    try:
        # 设置监听信号量
        common.gevent_signal_init(signal_handle)

        scanner()
    except KeyboardInterrupt:
        signal_handle('sigint')
    except:
        outerror(traceback.format_exc())
        EXIT_CODE = 1
Esempio n. 8
0
# 日志打印
def loginfo(logid, msg):
    msg = u'[%s] %s' % (logid, msg)
    outinfo(msg)


def logerror(logid, msg):
    msg = u'[%s] %s' % (logid, msg)
    outerror(msg)


if __name__ == "__main__":
    globals()['_DEBUG'] = Common.check_debug()
    Common.init_cfg_default()
    Common.init_run_user(Common.cfgDefault.get('global', 'user'))
    Common.init_pid_file('rulefilter.pid')
    Common.init_logger('RuleFilter', len(sys.argv) > 1, _DEBUG)

    # 运行服务
    EXIT_CODE = 0
    outinfo("program start")
    try:
        # 设置监听信号量
        gevent.signal(signal.SIGTERM, signal_handle, 'sigterm')
        gevent.signal(signal.SIGALRM, signal_handle, 'sigalrm')

        # 启动流服务器
        server = StreamServer(('127.0.0.1', 10026), main)
        server.serve_forever()

    except KeyboardInterrupt:
Esempio n. 9
0
    signal_stop = True
    # for task_id in _threads:
    #     outinfo('task back to queue: %s' % task_id)
    #     redis.rpush(MAIL_INCHECK_QUEUE, task_id)
    # if mode != 'sigint': sys.exit(0)


############################################################

if __name__ == "__main__":
    globals()['_DEBUG'] = Common.check_debug()
    Common.init_cfg_default()
    Common.init_run_user(Common.cfgDefault.get('global', 'user'))
    Common.init_makedir()
    Common.make_dir([mails_path, rcpts_path, error_path, froms_path])
    Common.init_pid_file('HandleMail.pid')
    Common.init_logger('HandleMail', len(sys.argv) > 1, _DEBUG)

    init_resource()
    gevent.spawn(init_resource_routine)

    # 运行程序
    EXIT_CODE = 0
    outinfo("program start")
    try:
        # 设置监听信号量
        Common.gevent_signal_init(signal_handle)

        scanner()
    except KeyboardInterrupt:
        signal_handle('sigint')
Esempio n. 10
0

def main():
    init()
    gevent.joinall([
        gevent.spawn(dspam_reject, 'dspam', get_mail_model),
        gevent.spawn(dspam_pass, 'dspam', get_mail_model),
        gevent.spawn(dspam_reject, 'dspam_collect', get_collect_mail_model),
        gevent.spawn(dspam_pass, 'dspam_collect', get_collect_mail_model),
        gevent.spawn(dspam_reject_from_path, settings.DATA_DSPAM_PATH,
                     get_mail_model),
        gevent.spawn(dspam_reject_from_path, settings.DATA_COLLECT_DSPAM_PATH,
                     get_collect_mail_model)
    ])


if __name__ == "__main__":
    globals()['_DEBUG'] = Common.check_debug()
    Common.init_cfg_default()
    Common.init_run_user(Common.cfgDefault.get('global', 'user'))
    Common.init_makedir()
    Common.init_pid_file('Dspam.pid')
    Common.init_logger('Dspam', len(sys.argv) > 1, _DEBUG)

    # 运行程序
    EXIT_CODE = 0
    outinfo("program start")
    main()
    outinfo("program quit")
    sys.exit(EXIT_CODE)
Esempio n. 11
0
    redis.rename(KEY_1_TEMP, KEY_1)


def init_resource():
    global check_setting

    check_settings = CheckSettings.objects.all()
    if check_settings:
        check_setting = check_settings[0]


if __name__ == "__main__":
    globals()['_DEBUG'] = Common.check_debug(2)
    Common.init_cfg_default()
    Common.init_run_user(Common.cfgDefault.get('global', 'user'))
    Common.init_pid_file('StatSenderGreyList.pid')
    Common.init_logger('StatSenderGreyList', len(sys.argv) > 1, _DEBUG)

    # 运行程序
    EXIT_CODE = 0
    outinfo("program start")
    init_resource()
    try:
        stat_sender_grey_list()
        stat_sender_grey_list_1()
    except:
        outerror(traceback.format_exc())
        EXIT_CODE = 1
    outinfo("program quit")
    sys.exit(EXIT_CODE)
Esempio n. 12
0
    fw.close()


def init_resource():
    global setting

    settings = Settings.objects.all()
    if settings:
        setting = settings[0]


if __name__ == "__main__":
    globals()['_DEBUG'] = Common.check_debug(2)
    Common.init_cfg_default()
    Common.init_run_user(Common.cfgDefault.get('daily_cron', 'user'))
    Common.init_pid_file('Daily_cron.pid')
    Common.init_logger('Daily_cron', len(sys.argv) > 1, _DEBUG)

    # 运行程序
    EXIT_CODE = 0
    outinfo("program start")
    init_resource()

    try:
        clear_email_back()
        monitor_customer()
        customer_summary()
        set_bulk_customer()
        save_postfix_status()
        check_statistic()
        save_keyword_review_status()
Esempio n. 13
0
def init():
    while redis.rpoplpush('relay_sync_temp', 'relay_sync') is not None:
        pass
    while redis.rpoplpush('collect_sync_temp', 'collect_sync') is not None:
        pass


def main():
    init()
    gevent.joinall([
        gevent.spawn(make_dir),
        gevent.spawn(sync_mail, 'relay', get_mail_model),
        gevent.spawn(sync_mail, 'collect', get_collect_mail_model),
    ])


if __name__ == "__main__":
    globals()['_DEBUG'] = Common.check_debug()
    # Common.init_cfg_default()
    # Common.init_run_user(Common.cfgDefault.get('global', 'user'))
    Common.init_pid_file('SyncMail.pid')
    Common.init_logger('SyncMail', len(sys.argv) > 1, _DEBUG)

    # 运行程序
    EXIT_CODE = 0
    outinfo("program start")
    main()
    outinfo("program quit")
    sys.exit(EXIT_CODE)