//忘记密码 func (u *UserController) Forgot(mail string) revel.Result { //重新生成验证码 user := new(models.User) user.ValidateCode = strings.Replace(uuid.NewUUID().String(), "-", "", -1) user.Email = mail _, err := u.q.Update(user) if err != nil { fmt.Println(err) } subject := "激活账号 —— 奇享-向世界分享我们" content := `这封信是由 奇享 发送的。 您收到这封邮件,是由于在 奇享 获取了新用户注册地址使用 了这个邮箱地址。如果您并没有访问过 奇享, 或没有进行上述操作,请忽 略这封邮件。 您不需要退订或进行其他进一步的操作。 ---------------------------------------------------------------------- 找回密码说明 ---------------------------------------------------------------------- 如果您是 奇享 的老用户,或在修改您的注册 Email 时使用了本地址,我们需 要对您的地址有效性进行验证以避免垃圾邮件或地址被滥用。 您只需点击下面的链接即可进行用户密码找回, "http://localhost:9000/user/forgot/` + user.ValidateCode + `" (如果上面不是链接形式,请将该地址手工粘贴到浏览器地址栏再访问) 感谢您的访问,祝您使用愉快!` //发送验证邮件 go sendMail(subject, content, []string{user.Email}) return u.Redirect(routes.UserController.ForgotRedirect()) }
//注册 func (u *UserController) SignUp(user models.User) revel.Result { user.Validation(u.q, u.Validation) if u.Validation.HasErrors() { u.Validation.Keep() return u.Redirect(routes.UserController.SignUpRedirect()) } notEncrypted := user.Password user.Password = models.EncryptPassword(user.Password) user.ValidateCode = strings.Replace(uuid.NewUUID().String(), "-", "", -1) if !user.Save(u.q) { u.Flash.Error("注册用户失败") return u.Redirect(routes.UserController.SignUpRedirect()) } subject := "激活账号 —— 奇享-向世界分享我们" content := `这封信是由 奇享 发送的。 您收到这封邮件,是由于在 奇享 获取了新用户注册地址使用 了这个邮箱地址。如果您并没有访问过 奇享, 或没有进行上述操作,请忽 略这封邮件。 您不需要退订或进行其他进一步的操作。 ---------------------------------------------------------------------- 新用户注册说明 ---------------------------------------------------------------------- 如果您是 奇享 的新用户,或在修改您的注册 Email 时使用了本地址,我们需 要对您的地址有效性进行验证以避免垃圾邮件或地址被滥用。 您只需点击下面的链接即可进行用户注册, "http://localhost:9000/user/validate/` + user.ValidateCode + `" (如果上面不是链接形式,请将该地址手工粘贴到浏览器地址栏再访问) 感谢您的访问,祝您使用愉快!` //发送验证邮件 go sendMail(subject, content, []string{user.Email}) //注册成功登陆 return u.SignIn(user.Email, notEncrypted, "") }