github.com/dhax/go-base@v0.0.0-20231004214136-8be7e5c1972b/email/auth.go (about)

     1  package email
     2  
     3  import "time"
     4  
     5  // ContentLoginToken defines content for login token email template.
     6  type ContentLoginToken struct {
     7  	Email  string
     8  	Name   string
     9  	URL    string
    10  	Token  string
    11  	Expiry time.Time
    12  }
    13  
    14  // LoginToken creates and sends a login token email with provided template content.
    15  func (m *Mailer) LoginToken(name, address string, content ContentLoginToken) error {
    16  	msg := &message{
    17  		from:     m.from,
    18  		to:       NewEmail(name, address),
    19  		subject:  "Login Token",
    20  		template: "loginToken",
    21  		content:  content,
    22  	}
    23  
    24  	if err := msg.parse(); err != nil {
    25  		return err
    26  	}
    27  
    28  	return m.Send(msg)
    29  }