Documentation
¶
Index ¶
Constants ¶
View Source
const ( // ProviderSendgrid represents SendGrid. ProviderSendgrid = "sendgrid" // ProviderMailgun represents Mailgun. ProviderMailgun = "mailgun" // ProviderMailjet represents Mailjet. ProviderMailjet = "mailjet" // ProviderResend represents Resend. ProviderResend = "resend" // ProviderPostmark represents Postmark. ProviderPostmark = "postmark" // ProviderSES represents AWS SES. ProviderSES = "ses" )
Variables ¶
This section is empty.
Functions ¶
func ProvideEmailer ¶
func ProvideEmailer(ctx context.Context, cfg *Config, logger logging.Logger, tracerProvider tracing.TracerProvider, metricsProvider metrics.Provider, client *http.Client) (email.Emailer, error)
ProvideEmailer provides an email.Emailer from a config.
func RegisterEmailer ¶
RegisterEmailer registers an email.Emailer with the injector.
Types ¶
type Config ¶
type Config struct {
Sendgrid *sendgrid.Config `env:"init" envPrefix:"SENDGRID_" json:"sendgrid"`
Mailgun *mailgun.Config `env:"init" envPrefix:"MAILGUN_" json:"mailgun"`
Mailjet *mailjet.Config `env:"init" envPrefix:"MAILJET_" json:"mailjet"`
Resend *resend.Config `env:"init" envPrefix:"RESEND_" json:"resend"`
Postmark *postmark.Config `env:"init" envPrefix:"POSTMARK_" json:"postmark"`
SES *ses.Config `env:"init" envPrefix:"SES_" json:"ses"`
Provider string `env:"PROVIDER" json:"provider"`
BaseURL template.URL `env:"BASE_URL" json:"baseURL"`
OutboundInvitesEmailAddress string `env:"OUTBOUND_INVITES_EMAIL_ADDRESS" json:"outboundInvitesEmailAddress"`
PasswordResetCreationEmailAddress string `env:"PASSWORD_RESET_CREATION_EMAIL_ADDRESS" json:"passwordResetCreationEmailAddress"`
PasswordResetRedemptionEmailAddress string `env:"PASSWORD_RESET_REDEMPTION_EMAIL_ADDRESS" json:"passwordResetRedemptionEmailAddress"`
CircuitBreaker circuitbreakingcfg.Config `env:"init" envPrefix:"CIRCUIT_BREAKING_" json:"circuitBreakerConfig"`
}
Config is the configuration structure.
func (*Config) BuildHermes ¶
func (cfg *Config) BuildHermes(branding *email.EmailBranding) *hermes.Hermes
BuildHermes builds a Hermes instance for rendering email templates.
func (*Config) EnsureDefaults ¶
func (cfg *Config) EnsureDefaults()
EnsureDefaults sets sensible defaults for zero-valued fields.
func (*Config) ProvideEmailer ¶
func (cfg *Config) ProvideEmailer(ctx context.Context, logger logging.Logger, tracerProvider tracing.TracerProvider, client *http.Client, circuitBreaker circuitbreaking.CircuitBreaker, metricsProvider metrics.Provider) (email.Emailer, error)
ProvideEmailer provides an outbound_emailer.
Click to show internal directories.
Click to hide internal directories.