- The sample is go-authentication
- MailService
There are 2 implementations of MailService:
- SMTP
- SendGrid
Please make sure to initialize a Go module before installing core-go/mail:
go get -u github.com/core-go/mail
Import:
import "github.com/core-go/mail"
type MailService interface {
Send(mail Mail) error
}
package main
import (
"github.com/core-go/mail"
"github.com/core-go/mail/smtp"
)
func main() {
// Create a new smtp mail service
config := smtp.DialerConfig{"smtp.gmail.com", 587, "test@gmail.com", "test", true}
mailService := smtp.NewSmtpMailSender(config)
subject := "Your smtp demo"
content := `Content of the email`
mailFrom := mail.Email{Address: "peter.parker@gmail.com"}
mailTo := []mail.Email{{Address: "mary.jane@gmail.com"}}
mailData := mail.NewHtmlMail(mailFrom, subject, mailTo, nil, content)
mailService.Send(*mailData)
}
package main
import (
"github.com/core-go/mail"
"github.com/core-go/mail/sendgrid"
)
func main() {
// Create a new sendgrid mail service
mailService := sendgrid.NewSendGridMailSender("xx.xxxxOQVcRKGxxxxk2KJc4g.fM7m9NIxxxxSLNOzxxxxfxF9bH4mnRrIysJA8q-xxxx")
subject := "Your sendgrid demo"
content := `Content of the email`
mailFrom := mail.Email{Address: "peter.parker@gmail.com"}
mailTo := []mail.Email{{Address: "mary.jane@gmail.com"}}
mailData := mail.NewHtmlMail(mailFrom, subject, mailTo, nil, content)
mailService.Send(*mailData)
}