2021-12-17 04:54:03 +00:00
|
|
|
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")
|
|
|
|
}
|
|
|
|
|
2021-12-17 07:52:32 +00:00
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2021-12-17 04:54:03 +00:00
|
|
|
// 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)
|
|
|
|
}
|