Documentation
¶
Overview ¶
Package email provides pluggable email sending for minimaldoc-server. Supports AWS SES, SMTP, SendGrid, and other providers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Message ¶
type Message struct {
To string
Subject string
HTMLBody string
TextBody string
FromAddress string // Optional override
FromName string // Optional override
ReplyTo string
Headers map[string]string
}
Message represents an email message.
type MockSender ¶
type MockSender struct {
// contains filtered or unexported fields
}
MockSender implements a mock email sender for testing.
func NewMockSender ¶
func NewMockSender() *MockSender
NewMockSender creates a new mock email sender.
func (*MockSender) LastMessage ¶
func (s *MockSender) LastMessage() *Message
LastMessage returns the most recently sent message.
func (*MockSender) Messages ¶
func (s *MockSender) Messages() []*Message
Messages returns all sent messages.
type SMTPSender ¶
type SMTPSender struct {
// contains filtered or unexported fields
}
SMTPSender implements email sending via SMTP.
func NewSMTPSender ¶
func NewSMTPSender(cfg config.EmailConfig) (*SMTPSender, error)
NewSMTPSender creates a new SMTP email sender.
type Sender ¶
type Sender interface {
// Send sends an email to a single recipient.
Send(ctx context.Context, msg *Message) error
// SendBulk sends emails to multiple recipients.
SendBulk(ctx context.Context, msgs []*Message) error
}
Sender defines the interface for email providers.
type TemplateData ¶
type TemplateData struct {
SiteName string
SiteURL string
RecipientEmail string
RecipientName string
VerificationURL string
UnsubscribeURL string
Year int
}
TemplateData contains common template variables.
type Templates ¶
type Templates struct {
// contains filtered or unexported fields
}
Templates provides email template rendering.
func NewTemplates ¶
NewTemplates creates a new template renderer.
func (*Templates) UnsubscribeEmail ¶
UnsubscribeEmail generates an unsubscribe confirmation email.
func (*Templates) VerificationEmail ¶
VerificationEmail generates a newsletter verification email.
func (*Templates) WelcomeEmail ¶
WelcomeEmail generates a welcome email after verification.