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')
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')
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('/')
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)
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'))
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'))
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')
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')
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'))
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'))
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'))
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="重置邮件已发送,请注意查收")
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)
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')