package ports

import "context"

// EmailMessage represents an outbound email.
type EmailMessage struct {
	To      []string
	Cc      []string
	Bcc     []string
	From    string
	Subject string
	Body    string // plain text
	HTML    string // HTML body (preferred when non-empty)
}

// EmailSender abstracts email delivery so that the automation layer
// is decoupled from any specific transport (SMTP, SES API, noop logger, etc.).
type EmailSender interface {
	Send(ctx context.Context, msg *EmailMessage) error
}
