Beispiel #1
0
//忘记密码
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())
}
Beispiel #2
0
//注册
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, "")

}