Пример #1
0
def forget_post():
    reset_token = str(uuid.uuid4())
    mail_addr = request.form.get('mail_address').strip()
    print('发送的邮件地址:', mail_addr)
    user = User.one(email=mail_addr)
    if user is not None:
        v = user.id
        key = 'reset_token.{}'.format(reset_token)
        user_identify_cache.set(key, v)
        try:
            send_mail(
                subject='Swordman BBS - 重置密码',
                author=admin_mail,
                to=mail_addr,
                content='请点击以下链接重设密码,如果非您本人操作,请无视本邮件。'
                        '\nhttp://129.28.190.39/forget/reset?token={}'.format(reset_token),
            )

        except ValueError:
            flash('邮箱输入错误,请重新输入。')
            return redirect('/forget')

        else:
            flash('发送成功,请前往邮箱查看。')
            return redirect('/forget')
    else:
        flash('邮箱输入错误,请重新输入。')
        return redirect('/forget')
Пример #2
0
def send():
    # 获得用户名
    # 通过用户名获得用户id
    form = request.form.to_dict()
    name = form['username']
    # log('username', name)
    u = User.one(username=name)
    # u = current_user()
    # 生成token
    token = str(uuid.uuid4())

    # 普通存对应关系
    # csrf_tokens[token] = u.id
    id = u.id

    # 存对应关系
    cache.set(token, id)
    # 发送邮件
    # log('csrf_tokens', csrf_tokens)
    receiver: User = User.one(id=u.id)
    # reset_link = 'http://localhost:3000/reset/edit?token={}'.format(token)
    reset_link = 'http://49.235.39.6/reset/edit?token={}'.format(token)
    content = '点击链接重置密码:{}\n'.format(reset_link, )
    send_mail(
        subject='重置密码',
        author=admin_mail,
        to=receiver.email,
        content=content,
    )
    return render_template('login.html')
Пример #3
0
def register_check_mail():
    email = request.form.get('email', '')
    u = User.one(email=email)
    if u is None:
        verify_code = ''.join([str(randint(0, 9)) for _ in range(6)])
        user_identify_cache.set(email, verify_code, 600)
        title = '欢迎注册Swordman BBS'
        content = '欢迎注册Swordman BBS。您的验证码为{},' \
                  '如果不是您本人的操作,请无视本邮件。'.format(verify_code)
        try:
            send_mail(
                subject=title,
                author=admin_mail,
                to=email,
                content=content,
            )
            flash('验证码已发送至您的邮箱,请查收。')
            return redirect(url_for('.register', email=email))

        except ValueError:
            flash('邮箱已被注册或邮箱格式错误')
            return redirect('/')
    else:
        flash('邮箱已被注册或邮箱格式错误')
        return redirect('/')
Пример #4
0
def send_mail_reset_password(u):
    # 设置 token 和 uid 的对应关系
    token = str(uuid.uuid4())
    token_uid[token] = u.id

    # 发送邮件到用户的邮箱
    subject = '密码重置'
    author = config.admin_mail
    to = u.email
    content = 'http://www.blackjude.club/reset/view?token={}'.format(token)
    send_mail(subject, author, to, content)
Пример #5
0
def reset_send():
    form = request.form.to_dict()
    username = form['username']
    u = User.one(username=username)
    token = str(uuid.uuid4())
    a[u.id] = token
    subject = '点击链接'
    author = admin_mail
    to = u.email
    content = 'http://49.235.32.57/reset/view?token={}'.format(token)
    send_mail(subject, author, to, content)
    return redirect(url_for('.index'))
Пример #6
0
def email_changepass():
    u = current_user()
    reciever = u.email
    token = new_csrf_token()
    content = '请点击下面的链接重置您的密码\n{}{}'.format(
        'http://localhost:3000/chagepassword?token=', token)
    print('邮件内容:', content)
    send_mail(subject='重置您的密码',
              author=admin_mail,
              to=reciever,
              content=content)
    return redirect(url_for('index.settings'))
Пример #7
0
def reset_send():
    form = request.form.to_dict()
    username = form['username']
    u = User.one(username=username)
    token = str(uuid.uuid4())
    ut[u.id] = token
    subject = '点击链接'
    author = config.admin_mail
    to = u.email
    content = 'http://localhost:3000/reset/view?token={}'.format(token)
    send_mail(subject, author, to, content)
    return render_template('index.html')
Пример #8
0
def reset_send():
    form = request.form.to_dict()
    username = form['username']
    u = User.one(username=username)
    token = str(uuid.uuid4())
    key = 'xiugai_{}'.format(token)
    cache.set(key, u.id)
    subject = '点击链接'
    author = config.admin_mail
    to = u.email
    content = 'http://129.28.154.236/message/reset/view?token={}'.format(token)
    send_mail(subject, author, to, content)
    return render_template('chakan.html')
Пример #9
0
def reset_send():
    form = request.form.to_dict()
    u = User.one(username=form['username'])
    if u is not None:
        token = str(uuid.uuid4())
        k = 'reset_token_{}'.format(token)
        v = json.dumps(u.id)
        cache.set(k, v)
        send_mail(
            subject='Reset your password',
            author=admin_mail,
            to=u.email,
            content='http://{}/reset/view?token={}'.format(ip, token),
        )
    return redirect(url_for('index.index'))
Пример #10
0
def reset_send():
    form = request.form.to_dict()
    # 生成 token
    token: Dict = new_csrf_token()
    log('reset send token', token)
    # 生成 url
    content = 'http://{}/reset/view?token={}'.format(request.host, token)
    # 发送邮件
    receiver: User = User.one(username=form['username'])
    send_mail(
        subject='[www.dviii.com] 重置密码',
        author=admin_mail,
        to=receiver.email,
        content='站内信通知:\n {}'.format(content),
    )
    return redirect(url_for('.index'))
Пример #11
0
def send():
    form = request.form.to_dict()

    current_user = User.one(email=form['email'])
    if current_user is None:
        return redirect(url_for('index.index'))

    token = new_reset_token(current_user.id)
    content = '重置密码地址 {}://{}:{}{}?token={}'.format(
        config.protocol,
        config.host,
        config.port,
        url_for('.view'),
        token
    )
    log('重置密码地址', content)
    send_mail('重置密码', config.admin_mail, current_user.email, content)
    return redirect(url_for('index.index'))
Пример #12
0
def send():
    form = request.form
    username = form['username']
    user = User.one(username=username)
    print('users', user)
    if user is not None:
        user_id = user.id
        print('userid', user_id)
        token = str(uuid.uuid4())
        find[token] = user_id
        subject = '密码找回'
        author = config.admin_mail
        to = user.emailtemp
        content = '请点击链接修改密码 https://www.auramux.com/reset/view?token={}'.format(
            token)
        send_mail(subject, author, to, content)
    else:
        return render_template("reset/reset.html", message="用户名错误")
    return render_template("reset/reset.html", message="重置邮件已发送,请注意查收")
Пример #13
0
def reset_password():
    email = request.form["email"]
    name = request.form["username"]
    title = '重置密码'
    user = User.one(email=email)
    if user is not None and name == user.username:
        token = new_csrf_token(user)
        log('reset_token', token)
        content = 'http://129.28.170.70/reset/view?token={}'.format(token)
        send_mail(
            subject=title,
            author=admin_mail,
            to=user.email,
            content=content
        )
        return redirect('/')
    else:
        message = "用户名与 Email 不匹配"
        return render_template('send.html', message=message)
Пример #14
0
def send():
    # 获得用户名
    # 通过用户名获得用户id
    form = request.form.to_dict()
    name = form['username']
    # log('username', name)
    u = User.one(username=name)
    # u = current_user()
    # 生成token
    token = str(uuid.uuid4())
    # csrf_tokens[token] = u.id
    id = u.id
    cache.set(token, id)
    # 发送邮件
    # log('csrf_tokens', csrf_tokens)
    receiver: User = User.one(id=u.id)
    send_mail(
        subject='修改密码',
        author=admin_mail,
        to=receiver.email,
        content='{}\r\nhttps://www.treasutre.xyz/reset/edit?token={}'.format(
            u.username, token),
    )
    return render_template('login.html')