Versions in this module Expand all Collapse all v0 v0.1.9 Apr 15, 2026 v0.1.8 Apr 15, 2026 v0.1.7 Apr 15, 2026 v0.1.6 Apr 14, 2026 Changes in this version + type MemberStatusChangeData struct + ActorName string + AppName string + AppURL string + TeamName string + UserName string type Template + const TemplateMemberReactivated + const TemplateMemberSuspended v0.1.5 Apr 9, 2026 v0.1.4 Apr 7, 2026 v0.1.3 Apr 7, 2026 v0.1.2 Mar 17, 2026 v0.1.1 Feb 12, 2026 v0.1.0 Feb 12, 2026 Changes in this version + var ErrInvalidRecipient = errors.New("email: invalid recipient email") + var ErrNotConfigured = errors.New("email: SMTP not configured") + var ErrSendFailed = errors.New("email: failed to send email") + type Config struct + From string + FromName string + Host string + Password string + Port int + SkipVerify bool + TLS bool + Timeout time.Duration + User string + type Logger interface + Info func(msg string, args ...any) + type LoggingSender struct + func NewLoggingSender(sender Sender, logger Logger) *LoggingSender + func (s *LoggingSender) IsConfigured() bool + func (s *LoggingSender) Send(ctx context.Context, msg *Message) error + func (s *LoggingSender) SendTemplate(ctx context.Context, to string, template Template, data any) error + type Message struct + Body string + Headers map[string]string + IsHTML bool + ReplyTo string + Subject string + To []string + type NoOpSender struct + func NewNoOpSender() *NoOpSender + func (s *NoOpSender) IsConfigured() bool + func (s *NoOpSender) Send(_ context.Context, _ *Message) error + func (s *NoOpSender) SendTemplate(_ context.Context, _ string, _ Template, _ any) error + type PasswordChangedData struct + AppName string + ChangedAt string + Email string + IPAddress string + SupportURL string + UserName string + type PasswordResetData struct + AppName string + Email string + ExpiresIn string + IPAddress string + RequestedAt string + ResetURL string + UserName string + type SMTPSender struct + func NewSMTPSender(cfg Config) *SMTPSender + func (s *SMTPSender) IsConfigured() bool + func (s *SMTPSender) Send(ctx context.Context, msg *Message) error + func (s *SMTPSender) SendTemplate(ctx context.Context, to string, template Template, data any) error + type Sender interface + IsConfigured func() bool + Send func(ctx context.Context, msg *Message) error + SendTemplate func(ctx context.Context, to string, template Template, data any) error + type TeamInvitationData struct + AppName string + ExpiresIn string + InvitationURL string + InviterName string + TeamName string + type Template string + const TemplatePasswordChanged + const TemplatePasswordReset + const TemplateTeamInvitation + const TemplateVerifyEmail + const TemplateWelcome + type TemplateEngine struct + func NewTemplateEngine() *TemplateEngine + func (e *TemplateEngine) Render(tmpl Template, data any) (subject string, body string, err error) + type VerifyEmailData struct + AppName string + Email string + ExpiresIn string + UserName string + VerificationURL string + type WelcomeData struct + AppName string + Email string + LoginURL string + SupportURL string + UserName string