Files
hanko/backend/mail/mailer.go
2022-06-09 14:36:00 +02:00

32 lines
598 B
Go

package mail
import (
"fmt"
"github.com/teamhanko/hanko/config"
"gopkg.in/gomail.v2"
"strconv"
)
type Mailer interface {
Send(message *gomail.Message) error
}
type mailer struct {
dialer *gomail.Dialer
}
func NewMailer(config config.SMTP) (Mailer, error) {
port, err := strconv.Atoi(config.Port)
if err != nil {
return nil, fmt.Errorf("failed to parse SMTP port: %w", err)
}
d := gomail.NewDialer(config.Host, port, config.User, config.Password)
return &mailer{
dialer: d,
}, nil
}
func (m *mailer) Send(message *gomail.Message) error {
return m.dialer.DialAndSend(message)
}