package email import ( "github.com/spf13/viper" "gopkg.in/gomail.v2" ) func init() { // viper.SetDefault("email.type", "smtp") viper.SetDefault("email.host", "mail.kumoly.io") viper.SetDefault("email.port", 587) viper.SetDefault("email.username", "test@kumoly.io") viper.SetDefault("email.password", "test") } type App struct { Name string Link string Logo string Copyright string } type Body struct { App App Intros []string Outros []string Content string Greeting string Receiver string Signature string Sender string } // host string, port int, username string, password string var dial *gomail.Dialer func Send(From string, To []string, Title string, b *Body) error { m := gomail.NewMessage() m.SetHeader("From", From) m.SetHeader("To", To...) m.SetHeader("Subject", Title) // m.SetAddressHeader("Cc", "dan@example.com", "Dan") // m.Attach("/home/Alex/lolcat.jpg") body, err := Parse(b) if err != nil { return err } m.SetBody("text/html", body) // Send the email return dial.DialAndSend(m) }