// 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 mailer import ( "encoding/hex" "fmt" "github.com/gogits/gogs/models" "github.com/gogits/gogs/modules/base" "github.com/gogits/gogs/modules/log" "github.com/gogits/gogs/modules/middleware" ) // Create New mail message use MailFrom and MailUser func NewMailMessage(To []string, subject, body string) Message { msg := NewHtmlMessage(To, base.MailService.User, subject, body) msg.User = base.MailService.User return msg } func GetMailTmplData(user *models.User) map[interface{}]interface{} { data := make(map[interface{}]interface{}, 10) data["AppName"] = base.AppName data["AppVer"] = base.AppVer data["AppUrl"] = base.AppUrl data["AppLogo"] = base.AppLogo data["ActiveCodeLives"] = base.Service.ActiveCodeLives / 60 data["ResetPwdCodeLives"] = base.Service.ResetPwdCodeLives / 60 if user != nil { data["User"] = user } return data } // create a time limit code for user active func CreateUserActiveCode(user *models.User, startInf interface{}) string { minutes := base.Service.ActiveCodeLives data := base.ToStr(user.Id) + user.Email + user.LowerName + user.Passwd + user.Rands code := base.CreateTimeLimitCode(data, minutes, startInf) // add tail hex username code += hex.EncodeToString([]byte(user.LowerName)) return code } // Send user register mail with active code func SendRegisterMail(r *middleware.Render, user *models.User) { code := CreateUserActiveCode(user, nil) subject := "Register success, Welcome" data := GetMailTmplData(user) data["Code"] = code body, err := r.HTMLString("mail/auth/register_success", data) if err != nil { log.Error("mail.SendRegisterMail(fail to render): %v", err) return } msg := NewMailMessage([]string{user.Email}, subject, body) msg.Info = fmt.Sprintf("UID: %d, send register mail", user.Id) SendAsync(&msg) } // Send email verify active email. func SendActiveMail(r *middleware.Render, user *models.User) { code := CreateUserActiveCode(user, nil) subject := "Verify your e-mail address" data := GetMailTmplData(user) data["Code"] = code body, err := r.HTMLString("mail/auth/active_email", data) if err != nil { log.Error("mail.SendActiveMail(fail to render): %v", err) return } msg := NewMailMessage([]string{user.Email}, subject, body) msg.Info = fmt.Sprintf("UID: %d, send email verify mail", user.Id) SendAsync(&msg) }
session(release): write data/sessions/e/6/e6f7f247320d8356: no space left on device
github.com/go-macaron/session@v0.0.0-20190805070824-1a3cdc6f5659/session.go:199 (0x8b2934) gopkg.in/macaron.v1@v1.3.9/context.go:79 (0x83d0a0) github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07) github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8) gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8) gopkg.in/macaron.v1@v1.3.9/context.go:112 (0x84fdb5) gopkg.in/macaron.v1@v1.3.9/recovery.go:161 (0x84fda8) gopkg.in/macaron.v1@v1.3.9/logger.go:40 (0x840c73) github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07) github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8) gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8) gopkg.in/macaron.v1@v1.3.9/router.go:187 (0x850fc6) gopkg.in/macaron.v1@v1.3.9/router.go:303 (0x8493e5) gopkg.in/macaron.v1@v1.3.9/macaron.go:220 (0x841fca) net/http/server.go:2836 (0x7a79b2) net/http/server.go:1924 (0x7a341b) runtime/asm_amd64.s:1373 (0x46f9f0)