1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
package email
import (
"dove/config"
"dove/utils/logger"
"fmt"
"net/smtp"
)
func Submit(senderAddress string, recipients []string, rawMessage []byte) error {
serverAddress := fmt.Sprintf("%s:%d", config.BindAddress, config.SmtpPort)
logger.Debugf(LogPrefix, SubmittingMessage, senderAddress, recipients, serverAddress)
var smtpAuth smtp.Auth
if config.SMTP.AuthRequired {
smtpAuth = smtp.PlainAuth("", config.SMTP.Username, config.SMTP.Password, config.BindAddress)
}
sendError := smtp.SendMail(serverAddress, smtpAuth, senderAddress, recipients, rawMessage)
if sendError != nil {
logger.Errorf(LogPrefix, SubmitFailed, sendError)
return sendError
}
logger.Infof(LogPrefix, SubmitSuccess, senderAddress, recipients)
return nil
}
|