parent
3634d1ee32
commit
ddbd2ce152
@ -1,58 +0,0 @@ |
||||
// Copyright 2014 The Gogs Authors. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package auth |
||||
|
||||
import ( |
||||
"encoding/hex" |
||||
"fmt" |
||||
|
||||
"github.com/gogits/gogs/models" |
||||
"github.com/gogits/gogs/modules/base" |
||||
"github.com/gogits/gogs/modules/mailer" |
||||
) |
||||
|
||||
// create a time limit code for user active
|
||||
func CreateUserActiveCode(user *models.User, startInf interface{}) string { |
||||
hours := base.Service.ActiveCodeLives / 60 |
||||
data := base.ToStr(user.Id) + user.Email + user.LowerName + user.Passwd + user.Rands |
||||
code := base.CreateTimeLimitCode(data, hours, startInf) |
||||
|
||||
// add tail hex username
|
||||
code += hex.EncodeToString([]byte(user.LowerName)) |
||||
return code |
||||
} |
||||
|
||||
// Send user register mail with active code
|
||||
func SendRegisterMail(user *models.User) { |
||||
code := CreateUserActiveCode(user, nil) |
||||
subject := "Register success, Welcome" |
||||
|
||||
data := mailer.GetMailTmplData(user) |
||||
data["Code"] = code |
||||
body := base.RenderTemplate("mail/auth/register_success.html", data) |
||||
|
||||
msg := mailer.NewMailMessage([]string{user.Email}, subject, body) |
||||
msg.Info = fmt.Sprintf("UID: %d, send register mail", user.Id) |
||||
|
||||
// async send mail
|
||||
mailer.SendAsync(msg) |
||||
} |
||||
|
||||
// Send email verify active email.
|
||||
func SendActiveMail(user *models.User) { |
||||
code := CreateUserActiveCode(user, nil) |
||||
|
||||
subject := "Verify your email address" |
||||
|
||||
data := mailer.GetMailTmplData(user) |
||||
data["Code"] = code |
||||
body := base.RenderTemplate("mail/auth/active_email.html", data) |
||||
|
||||
msg := mailer.NewMailMessage([]string{user.Email}, subject, body) |
||||
msg.Info = fmt.Sprintf("UID: %d, send email verify mail", user.Id) |
||||
|
||||
// async send mail
|
||||
mailer.SendAsync(msg) |
||||
} |
@ -0,0 +1,25 @@ |
||||
{{template "mail/base.html" .}} |
||||
{{define "title"}} |
||||
{{if eq .Lang "zh-CN"}} |
||||
{{.User.NickName}},激活你的账户 |
||||
{{end}} |
||||
{{if eq .Lang "en-US"}} |
||||
{{.User.NickName}}, please active your account |
||||
{{end}} |
||||
{{end}} |
||||
{{define "body"}} |
||||
{{if eq .Lang "zh-CN"}} |
||||
<p style="margin:0;padding:0 0 9px 0;">点击链接验证email,{{.ActiveCodeLives}} 分钟内有效</p> |
||||
<p style="margin:0;padding:0 0 9px 0;"> |
||||
<a href="{{.AppUrl}}active/{{.Code}}">{{.AppUrl}}active/{{.Code}}</a> |
||||
</p> |
||||
<p style="margin:0;padding:0 0 9px 0;">如果链接点击无反应,请复制到浏览器打开。</p> |
||||
{{end}} |
||||
{{if eq .Lang "en-US"}} |
||||
<p style="margin:0;padding:0 0 9px 0;">Please click following link to verify your e-mail in {{.ActiveCodeLives}} hours</p> |
||||
<p style="margin:0;padding:0 0 9px 0;"> |
||||
<a href="{{.AppUrl}}active/{{.Code}}">{{.AppUrl}}active/{{.Code}}</a> |
||||
</p> |
||||
<p style="margin:0;padding:0 0 9px 0;">Copy and paste it to your browser if it's not working.</p> |
||||
{{end}} |
||||
{{end}} |
@ -0,0 +1,33 @@ |
||||
<!DOCTYPE html> |
||||
<html> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
||||
<title>{{.User.Name}}, welcome to {{.AppName}}</title> |
||||
</head> |
||||
<body style="background:#eee;"> |
||||
<div style="color:#555; font:12px/1.5 Tahoma,Arial,sans-serif;; text-shadow:1px 1px #fff; padding:0; margin:0;"> |
||||
<div style="width:600px;margin:0 auto; padding:40px 0 20px;"> |
||||
<div style="border:1px solid #d9d9d9;border-radius:3px; background:#fff; box-shadow: 0px 2px 5px rgba(0, 0, 0,.05); -webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0,.05);"> |
||||
<div style="padding: 20px 15px;"> |
||||
<h1 style="font-size:20px; padding:10px 0 20px; margin:0; border-bottom:1px solid #ddd;"><a style="color:#333;text-decoration:none;" target="_blank" href="{{.AppUrl}}">{{.AppName}}</a></h1> |
||||
<div style="padding:40px 15px;"> |
||||
<div style="font-size:16px; padding-bottom:30px; font-weight:bold;"> |
||||
{{.User.Name}}, welcome to {{.AppName}} |
||||
</div> |
||||
<div style="font-size:14px; padding:0 15px;"> |
||||
<p style="margin:0;padding:0 0 9px 0;">Please click following link to verify your e-mail in {{.ActiveCodeLives}} hours</p> |
||||
<p style="margin:0;padding:0 0 9px 0;"> |
||||
<a href="{{.AppUrl}}activate/code={{.Code}}">{{.AppUrl}}active/{{.Code}}</a> |
||||
</p> |
||||
<p style="margin:0;padding:0 0 9px 0;">Copy and paste it to your browser if it's not working.</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div style="color:#aaa;padding:10px;text-align:center;"> |
||||
© 2014 <a style="color:#888;text-decoration:none;" target="_blank" href="{{.AppUrl}}">{{AppName}}</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</body> |
||||
</html> |
@ -0,0 +1,25 @@ |
||||
{{template "mail/base.html" .}} |
||||
{{define "title"}} |
||||
{{if eq .Lang "zh-CN"}} |
||||
{{.User.NickName}},重置账户密码 |
||||
{{end}} |
||||
{{if eq .Lang "en-US"}} |
||||
{{.User.NickName}}, reset your password |
||||
{{end}} |
||||
{{end}} |
||||
{{define "body"}} |
||||
{{if eq .Lang "zh-CN"}} |
||||
<p style="margin:0;padding:0 0 9px 0;">点击链接重置密码,{{.ResetPwdCodeLives}} 分钟内有效</p> |
||||
<p style="margin:0;padding:0 0 9px 0;"> |
||||
<a href="{{.AppUrl}}reset/{{.Code}}">{{.AppUrl}}reset/{{.Code}}</a> |
||||
</p> |
||||
<p style="margin:0;padding:0 0 9px 0;">如果链接点击无反应,请复制到浏览器打开。</p> |
||||
{{end}} |
||||
{{if eq .Lang "en-US"}} |
||||
<p style="margin:0;padding:0 0 9px 0;">Please click following link to reset your password in {{.ResetPwdCodeLives}} hours</p> |
||||
<p style="margin:0;padding:0 0 9px 0;"> |
||||
<a href="{{.AppUrl}}reset/{{.Code}}">{{.AppUrl}}reset/{{.Code}}</a> |
||||
</p> |
||||
<p style="margin:0;padding:0 0 9px 0;">Copy and paste it to your browser if it's not working.</p> |
||||
{{end}} |
||||
{{end}} |
@ -0,0 +1,29 @@ |
||||
<!DOCTYPE html> |
||||
<html> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
||||
<title>{{.Title}} - {{AppName}}</title> |
||||
</head> |
||||
<body style="background:#eee;"> |
||||
<div style="color:#555; font:12px/1.5 Tahoma,Arial,sans-serif;; text-shadow:1px 1px #fff; padding:0; margin:0;"> |
||||
<div style="width:600px;margin:0 auto; padding:40px 0 20px;"> |
||||
<div style="border:1px solid #d9d9d9;border-radius:3px; background:#fff; box-shadow: 0px 2px 5px rgba(0, 0, 0,.05); -webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0,.05);"> |
||||
<div style="padding: 20px 15px;"> |
||||
<h1 style="font-size:20px; padding:10px 0 20px; margin:0; border-bottom:1px solid #ddd;"><a style="color:#333;text-decoration:none;" target="_blank" href="{{.AppUrl}}">{{AppName}}</a></h1> |
||||
<div style="padding:40px 15px;"> |
||||
<div style="font-size:16px; padding-bottom:30px; font-weight:bold;"> |
||||
{{.Title}} |
||||
</div> |
||||
<div style="font-size:14px; padding:0 15px;"> |
||||
{{template "body" .}} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div style="color:#aaa;padding:10px;text-align:center;"> |
||||
© 2014 <a style="color:#888;text-decoration:none;" target="_blank" href="{{.AppUrl}}">{{AppName}} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</body> |
||||
</html> |
Loading…
Reference in new issue