38 lines
693 B
Go
38 lines
693 B
Go
package mailer
|
|
|
|
import (
|
|
"net/smtp"
|
|
|
|
"clickandjoin.app/emailserver/modules/cache"
|
|
"clickandjoin.app/emailserver/modules/config"
|
|
"clickandjoin.app/emailserver/modules/structs"
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
func Init() {
|
|
cfg := config.Cfg.Mail
|
|
|
|
cache.SmtpAuth = smtp.PlainAuth("", cfg.Username, cfg.Password, cfg.Host)
|
|
|
|
readTemplatesConfig()
|
|
loadTemplateFiles()
|
|
}
|
|
|
|
func NewMail(mail structs.Mail) error {
|
|
logrus.Debugln("NEW MAIL")
|
|
|
|
body, err := mail.RenderTemplate()
|
|
|
|
if err != nil {
|
|
logrus.Errorln("Failed to render template, err:", err)
|
|
return err
|
|
}
|
|
|
|
if err = mail.Send(body); err != nil {
|
|
logrus.Errorln("Failed to send mail, err:", err)
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|