kopia lustrzana https://github.com/reiver/greatape
31 wiersze
710 B
Go
31 wiersze
710 B
Go
package email
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"os"
|
|
|
|
"github.com/sendgrid/sendgrid-go"
|
|
"github.com/sendgrid/sendgrid-go/helpers/mail"
|
|
)
|
|
|
|
func handler(receiver, content string) error {
|
|
from := mail.NewEmail("Admin", "admin@site")
|
|
subject := "Subject"
|
|
to := mail.NewEmail(receiver, receiver)
|
|
|
|
plainTextContent := content
|
|
htmlContent := fmt.Sprintf("<p>%s</p>", content)
|
|
|
|
message := mail.NewSingleEmail(from, subject, to, plainTextContent, htmlContent)
|
|
|
|
client := sendgrid.NewSendClient(os.Getenv("SENDGRID_API_KEY"))
|
|
if response, err := client.Send(message); err != nil {
|
|
return err
|
|
} else if response.StatusCode != http.StatusCreated {
|
|
return fmt.Errorf("%d", response.StatusCode)
|
|
}
|
|
|
|
return nil
|
|
}
|