Files
remark42/backend/vendor/github.com/go-pkgz/email/options.go
T

71 lines
1.2 KiB
Go

package email
import "time"
// Option func type
type Option func(s *Sender)
// SMTP sets SMTP client
func SMTP(smtp SMTPClient) Option {
return func(s *Sender) {
s.smtpClient = smtp
}
}
// Log sets the logger for the email package
func Log(l Logger) Option {
return func(s *Sender) {
s.logger = l
}
}
// Port sets SMTP port
func Port(port int) Option {
return func(s *Sender) {
s.port = port
}
}
// ContentType sets content type of the email
func ContentType(contentType string) Option {
return func(s *Sender) {
s.contentType = contentType
}
}
// Charset sets content charset of the email
func Charset(charset string) Option {
return func(s *Sender) {
s.contentCharset = charset
}
}
// TLS enables TLS support
func TLS(enabled bool) Option {
return func(s *Sender) {
s.tls = enabled
}
}
// STARTTLS enables STARTTLS support
func STARTTLS(enabled bool) Option {
return func(s *Sender) {
s.starttls = enabled
}
}
// Auth sets smtp username and password
func Auth(smtpUserName, smtpPasswd string) Option {
return func(s *Sender) {
s.smtpUserName = smtpUserName
s.smtpPassword = smtpPasswd
}
}
// TimeOut sets smtp timeout
func TimeOut(timeOut time.Duration) Option {
return func(s *Sender) {
s.timeOut = timeOut
}
}