remove resend and use custom email client
This commit is contained in:
parent
7b9391b62f
commit
9fe6a6beb1
6 changed files with 180 additions and 74 deletions
|
|
@ -3,6 +3,7 @@ package config
|
|||
import (
|
||||
"log/slog"
|
||||
"os"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/joho/godotenv"
|
||||
|
|
@ -22,12 +23,16 @@ type Config struct {
|
|||
JWTSecret string
|
||||
JWTExpiry time.Duration
|
||||
|
||||
MailerSMTPHost string
|
||||
MailerSMTPPort string
|
||||
MailerUsername string
|
||||
MailerPassword string
|
||||
MailerEmailFrom string
|
||||
MailerEnvelopeFrom string
|
||||
MailerSMTPHost string
|
||||
MailerSMTPPort int
|
||||
MailerIMAPHost string
|
||||
MailerIMAPPort int
|
||||
MailerUsername string
|
||||
MailerPassword string
|
||||
MailerEmailFrom string
|
||||
MailerEnvelopeFrom string
|
||||
MailerSupportFrom string
|
||||
MailerSupportEnvelopeFrom string
|
||||
}
|
||||
|
||||
func Load() *Config {
|
||||
|
|
@ -50,12 +55,16 @@ func Load() *Config {
|
|||
JWTSecret: envRequired("JWT_SECRET"),
|
||||
JWTExpiry: envDuration("JWT_EXPIRY", 168*time.Hour), // 7 days default
|
||||
|
||||
MailerSMTPHost: envString("MAILER_SMTP_HOST", ""),
|
||||
MailerSMTPPort: envString("MAILER_SMTP_PORT", ""),
|
||||
MailerUsername: envString("MAILER_USERNAME", ""),
|
||||
MailerPassword: envString("MAILER_PASSWORD", ""),
|
||||
MailerEmailFrom: envString("MAILER_EMAIL_FROM", ""),
|
||||
MailerEnvelopeFrom: envString("MAILER_ENVELOPE_FROM", ""),
|
||||
MailerSMTPHost: envString("MAILER_SMTP_HOST", ""),
|
||||
MailerSMTPPort: envInt("MAILER_SMTP_PORT", 587),
|
||||
MailerIMAPHost: envString("MAILER_IMAP_HOST", ""),
|
||||
MailerIMAPPort: envInt("MAILER_IMAP_PORT", 993),
|
||||
MailerUsername: envString("MAILER_USERNAME", ""),
|
||||
MailerPassword: envString("MAILER_PASSWORD", ""),
|
||||
MailerEmailFrom: envString("MAILER_EMAIL_FROM", ""),
|
||||
MailerEnvelopeFrom: envString("MAILER_ENVELOPE_FROM", ""),
|
||||
MailerSupportFrom: envString("MAILER_SUPPORT_EMAIL_FROM", ""),
|
||||
MailerSupportEnvelopeFrom: envString("MAILER_SUPPORT_ENVELOPE_FROM", ""),
|
||||
}
|
||||
|
||||
return cfg
|
||||
|
|
@ -89,6 +98,19 @@ func envString(key, def string) string {
|
|||
return value
|
||||
}
|
||||
|
||||
func envInt(key string, def int) int {
|
||||
value, exists := os.LookupEnv(key)
|
||||
if !exists {
|
||||
return def
|
||||
}
|
||||
i, err := strconv.ParseInt(value, 10, 32)
|
||||
if err != nil {
|
||||
slog.Warn("config invalid integer, using default", "key", key, "value", value, "default", def)
|
||||
return def
|
||||
}
|
||||
return int(i)
|
||||
}
|
||||
|
||||
func envDuration(key string, def time.Duration) time.Duration {
|
||||
value, ok := os.LookupEnv(key)
|
||||
if !ok || value == "" {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue