def post(self): username = self.get_argument('username', None) password = self.get_argument('password', None) # repasswd = self.get_argument('repassword', None) email = self.get_argument('email', None) sex = self.get_argument('sex', None) avatar = self.request.files['avatar'][0] encrypted = encrypt_password(password) b64avatar = base64.b64encode(avatar['body']) sql = """insert into `users`(username, password, email, sex, avatar) values (%s, %s, %s, %s, %s)""" yield self.async_task(self.db.insert, sql, username, encrypted, email, sex, b64avatar) # Send confirm email and redirect to email link token = gen_token() url = '{0}://{1}/verify/{2}'.format(self.request.protocol, self.request.host, token) subject = mail.SIGNUP_SUBJECT message = mail.SIGNUP_MESSAGE.format(name=username, url=url) from_addr = options.from_addr from_pwd = options.from_pwd smtp_server = options.smtp_server # Use task queue send email taskq.tqueue.Queue().enqueue(mail.send_email, (from_addr, from_pwd, username, email, message, subject, smtp_server)) # Insert into table and wait to verify sql = 'insert into `verify` (token, username) values (%s, %s)' yield self.async_task(self.db.insert, sql, token, username) self.render("mail.html", username=username, message="注册成功")
def post(self): username = self.get_argument('username', None) password = self.get_argument('password', None) # repasswd = self.get_argument('repassword', None) email = self.get_argument('email', None) sex = self.get_argument('sex', None) avatar = self.request.files['avatar'][0] encrypted = encrypt_password(password) b64avatar = base64.b64encode(avatar['body']) sql = """insert into `users`(username, password, email, sex, avatar) values (%s, %s, %s, %s, %s)""" yield self.async_task(self.db.insert, sql, username, encrypted, email, sex, b64avatar) # Send confirm email and redirect to email link token = gen_token() url = '{0}://{1}/verify/{2}'.format( self.request.protocol, self.request.host, token) subject = mail.SIGNUP_SUBJECT message = mail.SIGNUP_MESSAGE.format(name=username, url=url) from_addr = options.from_addr from_pwd = options.from_pwd smtp_server = options.smtp_server # Use task queue send email taskq.tqueue.Queue().enqueue( mail.send_email, (from_addr, from_pwd, username, email, message, subject, smtp_server)) # Insert into table and wait to verify sql = 'insert into `verify` (token, username) values (%s, %s)' yield self.async_task(self.db.insert, sql, token, username) self.render("mail.html", username=username, message="注册成功")
def post(self): email = self.get_argument('email', None) sql = 'select * from users where email=%s' user = yield self.async_task(self.db.get, sql, email) token = gen_token() url = '{0}://{1}/changepassword/{2}'.format( self.request.protocol, self.request.host, token) subject = mail.FINDPW_SUBJECT message = mail.FINDPW_MESSAGE.format(name=user.username, url=url) from_addr = options.from_addr from_pwd = options.from_pwd smtp_server = options.smtp_server yield self.async_task(mail.send_email, from_addr, from_pwd, user.username, email, message, subject, smtp_server) # Insert into table sql = 'insert into `losspw` (token, username) values (%s, %s)' yield self.async_task(self.db.insert, sql, token, user.username) self.render("mail.html", username=user.username, message="您的密码更改请求已接受")
def post(self): email = self.get_argument('email', None) sql = 'select * from users where email=%s' user = yield self.async_task(self.db.get, sql, email) username = user.username token = gen_token() url = '{0}://{1}/changepassword/{2}'.format(self.request.protocol, self.request.host, token) subject = mail.FINDPW_SUBJECT message = mail.FINDPW_MESSAGE.format(name=username, url=url) from_addr = options.from_addr from_pwd = options.from_pwd smtp_server = options.smtp_server # Use task queue send email taskq.tqueue.Queue().enqueue(mail.send_email, (from_addr, from_pwd, username, email, message, subject, smtp_server)) # Insert into table sql = 'insert into `losspw` (token, username) values (%s, %s)' yield self.async_task(self.db.insert, sql, token, username) self.render("mail.html", username=username, message="您的密码更改请求已接受")