Added support for sending with relay hosts
This commit is contained in:
@@ -29,6 +29,7 @@ type Config struct {
|
||||
MaxSize int
|
||||
Bot matrixbot
|
||||
Callers []Caller
|
||||
Relay RelayConfig
|
||||
}
|
||||
|
||||
type TLSConfig struct {
|
||||
@@ -40,6 +41,13 @@ type TLSConfig struct {
|
||||
Mu sync.Mutex
|
||||
}
|
||||
|
||||
type RelayConfig struct {
|
||||
Host string
|
||||
Port string
|
||||
Usename string
|
||||
Password string
|
||||
}
|
||||
|
||||
type Manager struct {
|
||||
log *logger.Logger
|
||||
bot matrixbot
|
||||
@@ -71,10 +79,14 @@ type Caller interface {
|
||||
// NewManager creates new SMTP server manager
|
||||
func NewManager(cfg *Config) *Manager {
|
||||
log := logger.New("smtp.", cfg.LogLevel)
|
||||
|
||||
smtpClient := newClient(&cfg.Relay, log)
|
||||
|
||||
mailsrv := &mailServer{
|
||||
log: log,
|
||||
bot: cfg.Bot,
|
||||
domains: cfg.Domains,
|
||||
log: log,
|
||||
bot: cfg.Bot,
|
||||
domains: cfg.Domains,
|
||||
mailSender: smtpClient,
|
||||
}
|
||||
for _, caller := range cfg.Callers {
|
||||
caller.SetSendmail(mailsrv.SendEmail)
|
||||
|
||||
Reference in New Issue
Block a user