Files
remark42/backend/vendor/github.com/go-pkgz/email/options.go
T
Dmitry VerkhoturovandUmputun cebe929118 bump go modules, enable LoginAuth option for email
That option is needed for outlook.com and Office 365, resolves #1472.
2022-10-03 03:26:34 -05:00

78 lines
1.4 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
}
}
// LoginAuth sets LOGIN auth method
func LoginAuth() Option {
return func(s *Sender) {
s.authMethod = authMethodLogin
}
}
// TimeOut sets smtp timeout
func TimeOut(timeOut time.Duration) Option {
return func(s *Sender) {
s.timeOut = timeOut
}
}