Documentation ¶
Overview ¶
Package mailer acts a central mail server for the application.
It implements various types of communication with actual mail servers (sendmail, smtp, sendgrid API) and a simple queue mechanism to avoid spamming these servers.
Index ¶
- Constants
- func MigrateQueue(from dao.DAO, to dao.DAO, dryRun bool) (map[string]int, error)
- func NewGomailMessage(email *mailer.Mail) (*gomail.Message, error)
- func NewQueueDAO(dao dao.DAO) dao.DAO
- type BoltQueue
- type NoOpSender
- type Queue
- type SendGrid
- type Sender
- type Sendmail
- type Smtp
- type StoredEmail
Constants ¶
View Source
const (
// MaxSendRetries defines number of retries in case of connection failure.
MaxSendRetries = 5
)
Variables ¶
This section is empty.
Functions ¶
func MigrateQueue ¶
MigrateQueue is a MigratorFunc to move queued emails from one Queue to another.
func NewGomailMessage ¶
NewGomailMessage prepares a new Message to be sent.
Types ¶
type BoltQueue ¶
BoltQueue defines a queue for the mails backed by a Bolt DB.
func (*BoltQueue) Close ¶
Close closes the DB and delete corresponding file if deleteOnClose flag as been set on creation.
type NoOpSender ¶
type NoOpSender struct {
// contains filtered or unexported fields
}
type Queue ¶
type SendGrid ¶
type SendGrid struct {
ApiKey string
}
SendGrid is a passerelle to Sendgrid API. It holds the application API Key.
type Sender ¶
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package grpc provides the actual logic for posting emails to queue or to mail servers
|
Package grpc provides the actual logic for posting emails to queue or to mail servers |
Package lang provides i18n strings for mailer-related data.
|
Package lang provides i18n strings for mailer-related data. |
Package rest exposes a simple API for posting emails
|
Package rest exposes a simple API for posting emails |
Package templates defines ready-to-use templates to send email in a nice formatting.
|
Package templates defines ready-to-use templates to send email in a nice formatting. |
Click to show internal directories.
Click to hide internal directories.