Files
filekeeper/email/email.go

40 lines
730 B
Go

package email
import (
"gopkg.in/gomail.v2"
)
type SmtpServer struct {
Host string
Port int
User string
Password string
}
type Email interface {
Send()
}
func NewSmtpServer(Host string, Port int, User string, Password string) SmtpServer {
return SmtpServer{
Host: Host,
Port: Port,
User: User,
Password: Password,
}
}
func (mail *SmtpServer) Send(dst string, subject string, body string) error {
m := gomail.NewMessage()
m.SetHeader("From", mail.User)
m.SetHeader("To", dst)
m.SetHeader("Subject", subject)
m.SetBody("text/html", body)
d := gomail.NewDialer(mail.Host, mail.Port, mail.User, mail.Password)
if err := d.DialAndSend(m); err != nil {
return err
}
return nil
}