示例#1
0
        :return:
        """
        db = TinyDB("data.json")
        People = Query()
        target_users = db.search(People.status == 0)
        email_config = get_email_config()
        org_config = get_org_config()
        for user in target_users[:30]:  # 这里最多需要150 * 30s来发送完毕
            token = str(uuid.uuid1())
            content = '感谢您的辛苦付出,请点击链接 <a href="%s?token=' % org_config["frontend_url"]
            content += token + '">%s?token=' % org_config["frontend_url"]
            content += token + '</a>领取您的《志愿者证书》\n'
            content += org_config["name"]
            content += '\n网址:<a href="{0}">{0}</a>'.format(org_config["website"])

            is_successful = send_email(
                to_email=user['email'],
                subject='快来领取您的《 %s 志愿者证书》' % org_config["name"],
                content=content,
            )
            if is_successful:
                update_status_and_token(email=user['email'], status=1, token=token)
            slope = email_config["max_second"] - email_config["min_second"]
            time.sleep(email_config["min_second"] + random.random() * slope)

        db.close()

if __name__ == '__main__':
    logger.setLevel(logging.DEBUG)
    SendEmailJob().start()
示例#2
0
    response.headers['Access-Control-Allow-Headers'] = '*'
    if request.method == 'OPTIONS':
        return response
    return_json = {'code': 1, 'message': '网络异常', 'data': None}
    response.data = return_msg(return_json)
    if result == False:
        return response
    if action == 'send':
        send_email_job.start()
        return_json = {
            'code': 0,
            'message': 'start send email jobs successfully',
            'data': None
        }
    response.data = return_msg(return_json)
    return response


if __name__ == '__main__':
    logger.setLevel(logging.INFO)
    if not os.path.isdir("images"):
        os.mkdir("images")
    host_name = '0.0.0.0'
    if os.environ.get('host'):
        host_name = os.environ['host']
    if os.environ.get('port'):
        port_name = int(os.environ['port'])
    else:
        port_name = 5000
    app.run(host=host_name, port=port_name, debug=True)