mirror of https://github.com/go-gitea/gitea.git
Add register mail tpl
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,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