golazy.dev
–
golazy.dev
/
lazymailer
Index
|
Files
package lazymailer
import "golazy.dev/lazymailer"
Functions
func MustParseAddress
func MustParseAddress(value string) mail.Address
func ParseAddress
func ParseAddress(value string) (mail.Address, error)
func Recipients
func Recipients(addresses []mail.Address) []string
func WithContext
func WithContext(ctx context.Context, mailer *Mailer) context.Context
Types
type Address
type Address = mail.Address
type Base
type Base struct {
// contains filtered or unexported fields
}
func NewBase
func NewBase(ctx context.Context, controller string, defaults Defaults) (Base, error)
func (b *Base) Build
func (b *Base) Build(options Options) (Message, error)
func (b *Base) Mail
func (b *Base) Mail(options Options) error
func (b *Base) Set
func (b *Base) Set(name string, value any)
type Defaults
type Defaults struct {
From mail.Address
Delivery string
Layout string
Headers textproto.MIMEHeader
}
type Delivery
type Delivery interface {
Deliver(context.Context, Message) error
}
type DeliveryFunc
type DeliveryFunc func(context.Context, Message) error
func (f DeliveryFunc) Deliver
func (f DeliveryFunc) Deliver(ctx context.Context, message Message) error
type Mailer
type Mailer struct {
// contains filtered or unexported fields
}
func FromContext
func FromContext(ctx context.Context) (*Mailer, bool)
func New
func New(ctx context.Context, deliveries *Registry) (*Mailer, error)
type MemoryDelivery
type MemoryDelivery struct {
// contains filtered or unexported fields
}
func (d *MemoryDelivery) Deliver
func (d *MemoryDelivery) Deliver(_ context.Context, message Message) error
func (d *MemoryDelivery) Messages
func (d *MemoryDelivery) Messages() []Message
type Message
type Message struct {
From mail.Address
To []mail.Address
Subject string
Headers textproto.MIMEHeader
Text string
HTML string
}
func (m Message) Bytes
func (m Message) Bytes() ([]byte, error)
type Options
type Options struct {
Action string
To []mail.Address
From mail.Address
Subject string
Delivery string
Layout string
Headers textproto.MIMEHeader
}
type Registry
type Registry struct {
// contains filtered or unexported fields
}
func NewRegistry
func NewRegistry(defaultName string, deliveries map[string]Delivery) *Registry
func (r *Registry) Deliver
func (r *Registry) Deliver(ctx context.Context, name string, message Message) error
type SMTPDelivery
type SMTPDelivery struct {
Addr string
Auth smtp.Auth
}
func (d SMTPDelivery) Deliver
func (d SMTPDelivery) Deliver(_ context.Context, message Message) error