2018-05-27 22:40:42 +08:00
|
|
|
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")
|
2018-06-09 17:52:49 +08:00
|
|
|
port := os.Getenv("SMTP_PORT")
|
2019-05-02 06:34:37 +08:00
|
|
|
if host == "" || port == "" {
|
2018-05-27 22:40:42 +08:00
|
|
|
logger.Warningf("smtp not configured, no emails will be sent")
|
|
|
|
smtpConfigured = false
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
if os.Getenv("SMTP_FROM_ADDRESS") == "" {
|
2018-06-13 02:52:06 +08:00
|
|
|
logger.Errorf("COMMENTO_SMTP_FROM_ADDRESS not set")
|
2018-05-27 22:40:42 +08:00
|
|
|
smtpConfigured = false
|
|
|
|
return errorMissingSmtpAddress
|
|
|
|
}
|
|
|
|
|
|
|
|
logger.Infof("configuring smtp: %s", host)
|
2020-02-09 21:25:23 +08:00
|
|
|
if username == "" || password == "" {
|
|
|
|
logger.Warningf("no SMTP username/password set, Commento will assume they aren't required")
|
|
|
|
} else {
|
|
|
|
smtpAuth = smtp.PlainAuth("", username, password, host)
|
|
|
|
}
|
2018-05-27 22:40:42 +08:00
|
|
|
smtpConfigured = true
|
|
|
|
return nil
|
|
|
|
}
|