package authelia import ( ht "html/template" tt "text/template" "git.readonly.ch/bouzoure/pop-camarades/helpers" "git.readonly.ch/bouzoure/pop-camarades/models" ) type InputWelcomeMail struct { Person models.Person ResetURL string } func SendWelcomeMail(person models.Person) error { config, err := helpers.GetConfig() if err != nil { return err } mailer, err := helpers.GetMailer() if err != nil { return err } msg, err := helpers.NewMessage() if err != nil { return err } mailsFS, err := helpers.GetEmbeddedFS("mails") if err != nil { return err } inputValues := InputWelcomeMail{ Person: person, ResetURL: config.Authelia.ResetURL, } tplHTML, err := ht.ParseFS(mailsFS, "mails/welcome.html") if err != nil { return err } tplTXT, err := tt.ParseFS(mailsFS, "mails/welcome.txt") if err != nil { return err } msg.Subject("Ton compte POP Vaud") msg.AddTo(person.Email) err = msg.SetBodyHTMLTemplate(tplHTML, inputValues) if err != nil { return err } err = msg.AddAlternativeTextTemplate(tplTXT, inputValues) if err != nil { return err } return mailer.DialAndSend(msg) }