v0.12.1 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2022 License: MIT Imports: 10 Imported by: 44




This section is empty.


View Source
var MaxReconnectAttempts = 10

MaxReconnectAttempts is the maximum number of times we should reconnect to a server


This section is empty.


type Dialer

type Dialer interface {
	Dial() (Sender, error)

Dialer dials to an SMTP server and returns the SendCloser

type ErrMaxConnectAttempts

type ErrMaxConnectAttempts struct {
	// contains filtered or unexported fields

ErrMaxConnectAttempts is thrown when the maximum number of reconnect attempts is reached.

func (*ErrMaxConnectAttempts) Error

func (e *ErrMaxConnectAttempts) Error() string

Error returns the wrapped error response

type Mail

type Mail interface {
	Backoff(reason error) error
	Error(err error) error
	Success() error
	Generate(msg *gomail.Message) error
	GetDialer() (Dialer, error)
	GetSmtpFrom() (string, error)

Mail is an interface that handles the common operations for email messages

type MailWorker

type MailWorker struct {
	// contains filtered or unexported fields

MailWorker is the worker that receives slices of emails on a channel to send. It's assumed that every slice of emails received is meant to be sent to the same server.

func NewMailWorker

func NewMailWorker() *MailWorker

NewMailWorker returns an instance of MailWorker with the mail queue initialized.

func (*MailWorker) Queue

func (mw *MailWorker) Queue(ms []Mail)

Queue sends the provided mail to the internal queue for processing.

func (*MailWorker) Start

func (mw *MailWorker) Start(ctx context.Context)

Start launches the mail worker to begin listening on the Queue channel for new slices of Mail instances to process.

type Mailer

type Mailer interface {
	Start(ctx context.Context)

Mailer is an interface that defines an object used to queue and send mailer.Mail instances.

type Sender

type Sender interface {
	Send(from string, to []string, msg io.WriterTo) error
	Close() error
	Reset() error

Sender exposes the common operations required for sending email.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL