revert last commit, meant for heroku branch

This commit is contained in:
dhax 2020-11-06 18:13:45 +01:00
parent 13d31c62a6
commit 3b11f37162
3 changed files with 41 additions and 75 deletions

View file

@ -3,7 +3,6 @@ package email
import (
"bytes"
"errors"
"fmt"
"html/template"
"log"
@ -13,10 +12,7 @@ import (
"strings"
"time"
"github.com/sendgrid/sendgrid-go"
"github.com/sendgrid/sendgrid-go/helpers/mail"
// "github.com/go-mail/mail"
"github.com/go-mail/mail"
"github.com/jaytaylor/html2text"
"github.com/spf13/viper"
"github.com/vanng822/go-premailer/premailer"
@ -29,7 +25,7 @@ var (
// Mailer is a SMTP mailer.
type Mailer struct {
client *sendgrid.Client
client *mail.Dialer
from Email
}
@ -39,49 +35,35 @@ func NewMailer() (*Mailer, error) {
return nil, err
}
// usage with sendgrid api key client
apiKey := viper.GetString("SENDGRID_API_KEY")
if apiKey == "" {
return nil, errors.New("missing sendgrid api key")
smtp := struct {
Host string
Port int
User string
Password string
}{
viper.GetString("email_smtp_host"),
viper.GetInt("email_smtp_port"),
viper.GetString("email_smtp_user"),
viper.GetString("email_smtp_password"),
}
client := sendgrid.NewSendClient(apiKey)
mailer := &Mailer{
client: client,
s := &Mailer{
client: mail.NewPlainDialer(smtp.Host, smtp.Port, smtp.User, smtp.Password),
from: NewEmail(viper.GetString("email_from_name"), viper.GetString("email_from_address")),
}
return mailer, nil
// usage with go-mail basic smtp auth client
// smtp := struct {
// Host string
// Port int
// User string
// Password string
// }{
// viper.GetString("email_smtp_host"),
// viper.GetInt("email_smtp_port"),
// viper.GetString("email_smtp_user"),
// viper.GetString("email_smtp_password"),
// }
if smtp.Host == "" {
log.Println("SMTP host not set => printing emails to stdout")
debug = true
return s, nil
}
// s := &Mailer{
// client: mail.NewDialer(smtp.Host, smtp.Port, smtp.User, smtp.Password),
// from: NewEmail(viper.GetString("email_from_name"), viper.GetString("email_from_address")),
// }
// if smtp.Host == "" {
// log.Println("SMTP host not set => printing emails to stdout")
// debug = true
// return s, nil
// }
// d, err := s.client.Dial()
// if err != nil {
// return nil, err
// }
// d.Close()
// return s, nil
d, err := s.client.Dial()
if err == nil {
d.Close()
return s, nil
}
return nil, err
}
// Send sends the mail via smtp.
@ -93,33 +75,14 @@ func (m *Mailer) Send(email *message) error {
return nil
}
// usage with sendgrid
from := mail.NewEmail(email.from.Name, email.from.Address)
to := mail.NewEmail(email.to.Name, email.to.Address)
message := mail.NewSingleEmail(from, email.subject, to, email.text, email.html)
msg := mail.NewMessage()
msg.SetAddressHeader("From", email.from.Address, email.from.Name)
msg.SetAddressHeader("To", email.to.Address, email.to.Name)
msg.SetHeader("Subject", email.subject)
msg.SetBody("text/plain", email.text)
msg.AddAlternative("text/html", email.html)
response, err := m.client.Send(message)
if err != nil {
return err
}
if debug {
log.Println(response.StatusCode)
log.Println(response.Body)
log.Println(response.Headers)
}
return nil
// usage with go-mail
// msg := mail.NewMessage()
// msg.SetAddressHeader("From", email.from.Address, email.from.Name)
// msg.SetAddressHeader("To", email.to.Address, email.to.Name)
// msg.SetHeader("Subject", email.subject)
// msg.SetBody("text/plain", email.text)
// msg.AddAlternative("text/html", email.html)
// return m.client.DialAndSend(msg)
return m.client.DialAndSend(msg)
}
// message struct holds all parts of a specific email message.