fix: restructure env handling for better testing capabillities #181
This commit was merged in pull request #195.
This commit is contained in:
57
utils/env.go
57
utils/env.go
@@ -1,57 +0,0 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"log"
|
||||
"log/slog"
|
||||
"os"
|
||||
)
|
||||
|
||||
var (
|
||||
SmtpHost string
|
||||
SmtpPort string
|
||||
SmtpUser string
|
||||
SmtpPass string
|
||||
SmtpFromMail string
|
||||
SmtpFromName string
|
||||
BaseUrl string
|
||||
Environment string
|
||||
)
|
||||
|
||||
func MustInitEnv() {
|
||||
SmtpHost = os.Getenv("SMTP_HOST")
|
||||
SmtpPort = os.Getenv("SMTP_PORT")
|
||||
SmtpUser = os.Getenv("SMTP_USER")
|
||||
SmtpPass = os.Getenv("SMTP_PASS")
|
||||
SmtpFromMail = os.Getenv("SMTP_FROM_MAIL")
|
||||
SmtpFromName = os.Getenv("SMTP_FROM_NAME")
|
||||
BaseUrl = os.Getenv("BASE_URL")
|
||||
Environment = os.Getenv("ENVIRONMENT")
|
||||
|
||||
if SmtpHost == "" {
|
||||
log.Fatal("SMTP_HOST must be set")
|
||||
}
|
||||
if SmtpPort == "" {
|
||||
log.Fatal("SMTP_PORT must be set")
|
||||
}
|
||||
if SmtpUser == "" {
|
||||
log.Fatal("SMTP_USER must be set")
|
||||
}
|
||||
if SmtpPass == "" {
|
||||
log.Fatal("SMTP_PASS must be set")
|
||||
}
|
||||
if SmtpFromMail == "" {
|
||||
log.Fatal("SMTP_FROM_MAIL must be set")
|
||||
}
|
||||
if SmtpFromName == "" {
|
||||
log.Fatal("SMTP_FROM_NAME must be set")
|
||||
}
|
||||
if BaseUrl == "" {
|
||||
log.Fatal("BASE_URL must be set")
|
||||
}
|
||||
if Environment == "" {
|
||||
log.Fatal("ENVIRONMENT must be set")
|
||||
}
|
||||
|
||||
slog.Info("BASE_URL is " + BaseUrl)
|
||||
slog.Info("ENVIRONMENT is " + Environment)
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/smtp"
|
||||
)
|
||||
|
||||
func SendMail(to string, subject string, message string) error {
|
||||
|
||||
auth := smtp.PlainAuth("", SmtpUser, SmtpPass, SmtpHost)
|
||||
|
||||
msg := fmt.Sprintf("From: %v <%v>\nTo: %v\nSubject: %v\nMIME-version: 1.0;\nContent-Type: text/html; charset=\"UTF-8\";\n\n%v", SmtpFromName, SmtpFromMail, to, subject, message)
|
||||
|
||||
return smtp.SendMail(SmtpHost+":"+SmtpPort, auth, SmtpFromMail, []string{to}, []byte(msg))
|
||||
}
|
||||
Reference in New Issue
Block a user