Documentation
¶
Overview ¶
Package mailer provides email sending over a pluggable transport (SMTP, in-memory) with RFC 5322 / MIME rendering.
Index ¶
- Constants
- func MailerMustFromContainer(serviceContainer containercontract.Container) mailercontract.Mailer
- func MailerMustFromResolver(resolver containercontract.Resolver) mailercontract.Mailer
- func RenderMessage(message mailercontract.Message) ([]byte, error)
- type InMemoryTransport
- type LogTransport
- type Manager
- type SmtpConfig
- type SmtpTransport
Constants ¶
View Source
const ServiceMailer = "service.mailer.mailer"
Variables ¶
This section is empty.
Functions ¶
func MailerMustFromContainer ¶
func MailerMustFromContainer(serviceContainer containercontract.Container) mailercontract.Mailer
func MailerMustFromResolver ¶
func MailerMustFromResolver(resolver containercontract.Resolver) mailercontract.Mailer
func RenderMessage ¶
func RenderMessage(message mailercontract.Message) ([]byte, error)
Types ¶
type InMemoryTransport ¶
type InMemoryTransport struct {
// contains filtered or unexported fields
}
func NewInMemoryTransport ¶
func NewInMemoryTransport() *InMemoryTransport
func (*InMemoryTransport) Send ¶
func (instance *InMemoryTransport) Send(runtimeInstance runtimecontract.Runtime, message mailercontract.Message) error
func (*InMemoryTransport) Sent ¶
func (instance *InMemoryTransport) Sent() []mailercontract.Message
type LogTransport ¶ added in v3.8.0
type LogTransport struct {
// contains filtered or unexported fields
}
func NewLogTransport ¶ added in v3.8.0
func NewLogTransport(logger loggingcontract.Logger) *LogTransport
@info LogTransport writes the recipients (To, Cc, Bcc), subject, both the text and HTML bodies, and per-attachment metadata of every message to the logger instead of delivering it; intended for local development so a misconfigured app never sends real mail
func (*LogTransport) Send ¶ added in v3.8.0
func (instance *LogTransport) Send(runtimeInstance runtimecontract.Runtime, message mailercontract.Message) error
@info the logger supplied at construction is preferred; when it is nil the request-scoped logger is resolved quietly from the runtime (a missing logger service is swallowed rather than emitting an emergency log on every send), and when neither is available the send is a safe no-op
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func NewManager(transport mailercontract.Transport) *Manager
func (*Manager) Send ¶
func (instance *Manager) Send(runtimeInstance runtimecontract.Runtime, message mailercontract.Message) error
type SmtpConfig ¶
type SmtpTransport ¶
type SmtpTransport struct {
// contains filtered or unexported fields
}
func NewSmtpTransport ¶
func NewSmtpTransport(config SmtpConfig) *SmtpTransport
func (*SmtpTransport) Send ¶
func (instance *SmtpTransport) Send(runtimeInstance runtimecontract.Runtime, message mailercontract.Message) error
Source Files
¶
Click to show internal directories.
Click to hide internal directories.