From 2b03f0360438dfd8ac3b318c15c3c7048bec3d80 Mon Sep 17 00:00:00 2001 From: Trey t Date: Wed, 26 Nov 2025 23:23:26 -0600 Subject: [PATCH] Fix email config not reading from env vars MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Viper requires SetDefault to be called for env vars to be automatically bound. Added defaults for EMAIL_HOST_USER and EMAIL_HOST_PASSWORD. Also added info logging to show email config on startup for debugging. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- cmd/api/main.go | 11 ++++++++++- internal/config/config.go | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/cmd/api/main.go b/cmd/api/main.go index 6a565aa..829b395 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -75,13 +75,22 @@ func main() { // Initialize email service var emailService *services.EmailService + log.Info(). + Str("email_host", cfg.Email.Host). + Str("email_user", cfg.Email.User). + Str("email_from", cfg.Email.From). + Int("email_port", cfg.Email.Port). + Msg("Email config loaded") if cfg.Email.Host != "" && cfg.Email.User != "" { emailService = services.NewEmailService(&cfg.Email) log.Info(). Str("host", cfg.Email.Host). Msg("Email service initialized") } else { - log.Warn().Msg("Email service not configured - emails will not be sent") + log.Warn(). + Str("host", cfg.Email.Host). + Str("user", cfg.Email.User). + Msg("Email service not configured - emails will not be sent") } // Setup router with dependencies diff --git a/internal/config/config.go b/internal/config/config.go index 52eff7d..4849fa6 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -209,6 +209,8 @@ func setDefaults() { viper.SetDefault("EMAIL_HOST", "smtp.gmail.com") viper.SetDefault("EMAIL_PORT", 587) viper.SetDefault("EMAIL_USE_TLS", true) + viper.SetDefault("EMAIL_HOST_USER", "") + viper.SetDefault("EMAIL_HOST_PASSWORD", "") viper.SetDefault("DEFAULT_FROM_EMAIL", "MyCrib ") // Push notification defaults