| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package notifications
- import (
- m "github.com/grafana/grafana/pkg/models"
- "github.com/grafana/grafana/pkg/setting"
- )
- type SendEmailCommand struct {
- To []string
- From string
- Subject string
- Body string
- Type string
- Massive bool
- Info string
- }
- type SendResetPasswordEmailCommand struct {
- Email string
- }
- // create mail content
- func (m *SendEmailCommand) Content() string {
- // set mail type
- contentType := "text/plain; charset=UTF-8"
- if m.Type == "html" {
- contentType = "text/html; charset=UTF-8"
- }
- // create mail content
- content := "From: " + m.From + "\r\nSubject: " + m.Subject + "\r\nContent-Type: " + contentType + "\r\n\r\n" + m.Body
- return content
- }
- // Create html mail command
- func NewSendEmailCommand(To []string, From, Subject, Body string) SendEmailCommand {
- return SendEmailCommand{
- To: To,
- From: From,
- Subject: Subject,
- Body: Body,
- Type: "html",
- }
- }
- // Create New mail message use MailFrom and MailUser
- func NewMailMessageFrom(To []string, from, subject, body string) SendEmailCommand {
- return NewSendEmailCommand(To, from, subject, body)
- }
- // Create New mail message use MailFrom and MailUser
- func NewMailMessage(To string, subject, body string) SendEmailCommand {
- return NewMailMessageFrom([]string{To}, setting.Smtp.FromAddress, subject, body)
- }
- func GetMailTmplData(u *m.User) map[interface{}]interface{} {
- data := make(map[interface{}]interface{}, 10)
- data["AppUrl"] = setting.AppUrl
- data["BuildVersion"] = setting.BuildVersion
- data["BuildStamp"] = setting.BuildStamp
- data["BuildCommit"] = setting.BuildCommit
- if u != nil {
- data["User"] = u
- }
- return data
- }
|