32 lines
681 B
Go
32 lines
681 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"net/smtp"
|
||
|
"os"
|
||
|
)
|
||
|
|
||
|
var smtpConfigured bool
|
||
|
var smtpAuth smtp.Auth
|
||
|
|
||
|
func smtpConfigure() error {
|
||
|
username := os.Getenv("SMTP_USERNAME")
|
||
|
password := os.Getenv("SMTP_PASSWORD")
|
||
|
host := os.Getenv("SMTP_HOST")
|
||
|
if username == "" || password == "" || host == "" {
|
||
|
logger.Warningf("smtp not configured, no emails will be sent")
|
||
|
smtpConfigured = false
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
if os.Getenv("SMTP_FROM_ADDRESS") == "" {
|
||
|
logger.Errorf("SMTP_FROM_ADDRESS not set")
|
||
|
smtpConfigured = false
|
||
|
return errorMissingSmtpAddress
|
||
|
}
|
||
|
|
||
|
logger.Infof("configuring smtp: %s", host)
|
||
|
smtpAuth = smtp.PlainAuth("", username, password, host)
|
||
|
smtpConfigured = true
|
||
|
return nil
|
||
|
}
|