from PDAPI import * __metadata__ = { "methods": ["POST"], "blueprint": "GERP", "permission": 1.0, "attributes": [], "limit": "1 per minute" } SmtpConfig = { "smtpServer": "smtp.gvsds.com", "smtpPort": 465, "senderEmail": "verify@gvsds.com", "senderPassword": "198314qwe", "senderName": "GVSDS_Verify " } ES = EmailSender(**SmtpConfig) def HandleRequest(): ELTUser: GERPUser = flask.g.ELTUser if ELTUser.UserEmailVerify: return {"code": 2, "message": "已验证"} if re.fullmatch(r'^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$', ELTUser.UserEmail) is None: return {"code": 1, "message": "邮箱不符合格式"} DeleteStmt = sqlalchemy.delete(AccountActivation).where(AccountActivation.UserUUID == ELTUser.UserUUID) try: db.session.execute(DeleteStmt) db.session.commit() except: db.session.rollback() _ = AccountActivation() _.UserUUID = ELTUser.UserUUID RKEY = RandomAccountActivationNumber() _.AccountActivationCode = bytes.fromhex(str(RKEY)) try: db.session.add(_) db.session.commit() except: print(traceback.format_exc()) db.session.rollback() return {"code": 1, "message": "验证代码服务器同步失败"} Receivers = [ELTUser.UserEmail] if ES.SendHtmlEmail(Receivers, "GVSDS 银河锋锐 邮箱验证代码", openr(JoinPath(TempLate, "GERP/AccountActivation/Email.html")).replace("{{ Code }}", str(RKEY))): return {"code": 0} return {"code": 1, "message": "邮件发送失败"}