make Mailer an interface
This commit is contained in:
parent
dd2412463b
commit
08c09ffee7
10 changed files with 234 additions and 227 deletions
28
auth/pwdless/emails.go
Normal file
28
auth/pwdless/emails.go
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
package pwdless
|
||||
|
||||
import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/dhax/go-base/email"
|
||||
)
|
||||
|
||||
// ContentLoginToken defines content for login token email template.
|
||||
type ContentLoginToken struct {
|
||||
Email string
|
||||
Name string
|
||||
URL string
|
||||
Token string
|
||||
Expiry time.Time
|
||||
}
|
||||
|
||||
// LoginTokenEmail creates and sends a login token email with provided template content.
|
||||
func LoginTokenEmail(name, address string, content ContentLoginToken) email.Message {
|
||||
return email.Message{
|
||||
From: email.NewEmail(os.Getenv("EMAIL_FROM_NAME"), os.Getenv("EMAIL_FROM_ADDRESS")),
|
||||
To: email.NewEmail(name, address),
|
||||
Subject: "Login Token",
|
||||
Template: "loginToken",
|
||||
Content: content,
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue