Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v0.2.0
type Config struct { // TODO: support json marshal for duration Hostname string `json:"hostname"` Directory string `json:"directory"` DisableSSLVerification bool `json:"disable-ssl-verification"` InitialInterval time.Duration `json:"-"` RandomizationFactor float64 `json:"randomization_factor"` Multiplier float64 `json:"multiplier"` MaxInterval time.Duration `json:"-"` MaxAttempts int `json:"max_attempts"` Jitter bool `json:"jitter"` // Map domain names to DKIM config for that domain DKIMConfigs map[string]DKIMConfig `json:"dkim-configs"` // ProcessFunc allow you to define custom process function for message. ProcessFunc ProcessFunc `json:"-"` // ProcessFailFunc allow you to define processor if message failed with 5xx status. ProcessFailFunc ProcessFailFunc `json:"-"` }
Application configuration.
type DKIMConfig ¶ added in v0.3.2
type Host ¶
type Host struct {
// contains filtered or unexported fields
}
Persistent connection to an SMTP host.
func (*Host) Status ¶ added in v0.3.0
func (h *Host) Status() *HostStatus
Return the status of the host connection.
type HostStatus ¶ added in v0.3.0
Host status information.
type MailServerFinder ¶ added in v1.0.3
type MailServerFinder interface { // Attempt to find the mail servers for the specified host. MX records are // checked first. If one or more were found, the records are converted into an // array of strings (sorted by priority). If none were found, the original host // is returned. FindServers(host string) ([]string, error) }
type Message ¶ added in v0.2.0
type Message struct { Host string `json:"host"` From string `json:"from"` To []string `json:"to"` Attempt int `json:"attempt"` // Metadata can store any data useful for custom processors. Metadata map[string]string `json:"metadata"` // contains filtered or unexported fields }
Message metadata.
type ProcessFailFunc ¶ added in v1.1.0
type ProcessFunc ¶ added in v1.0.3
type Queue ¶
type Queue struct { Storage *Storage // contains filtered or unexported fields }
Mail queue managing the sending of messages to hosts.
func NewQueue ¶
Create a new message queue. Any undelivered messages on disk will be added to the appropriate queue.
func (*Queue) Status ¶ added in v0.3.0
func (q *Queue) Status() *QueueStatus
Provide the status of each host queue.
type QueueStatus ¶ added in v0.3.0
type QueueStatus struct { Uptime int `json:"uptime"` Hosts map[string]*HostStatus `json:"hosts"` }
QueueStatus status information.
type SMTPError ¶ added in v1.0.3
type SMTPError struct {
Err error
}
func (*SMTPError) IsPermanent ¶ added in v1.0.3
func (*SMTPError) IsTemporary ¶ added in v1.0.3
type Storage ¶ added in v0.2.0
type Storage struct {
// contains filtered or unexported fields
}
Manager for message metadata and body on disk. All methods are safe to call from multiple goroutines.
func NewStorage ¶ added in v0.2.0
Create a Storage instance for the specified directory.
func (*Storage) DeleteMessage ¶ added in v0.2.0
Delete the specified message. The message body is also deleted if no more messages exist.
func (*Storage) GetMessageBody ¶ added in v0.2.0
func (s *Storage) GetMessageBody(m *Message) (io.ReadCloser, error)
Retreive a reader for the message body.
func (*Storage) LoadMessages ¶ added in v0.2.0
Load messages from the storage directory. Any messages that could not be loaded are ignored.