diff options
author | 2025-05-24 11:03:37 +0530 | |
---|---|---|
committer | 2025-05-24 11:25:16 +0530 | |
commit | a8c6c22e7f5b629db3e6f275028a23ee9a9a50f3 (patch) | |
tree | 9106f6758856952870ab5f2b67ebe6ad97630e64 /plugins/base/routes.go | |
parent | 85ca823eb29347726596389133ff14c8288d9185 (diff) | |
download | alps-a8c6c22e7f5b629db3e6f275028a23ee9a9a50f3.tar.gz alps-a8c6c22e7f5b629db3e6f275028a23ee9a9a50f3.tar.bz2 alps-a8c6c22e7f5b629db3e6f275028a23ee9a9a50f3.zip |
- Add SMTPUsername and SMTPPassword fields to Settings struct
- Update DoSMTP method to use custom credentials when available
- Add SMTP credential fields to all theme templates
- Support independent username/password configuration
Fixes authentication issues when using different SMTP credentials
than login credentials, useful for app-specific passwords.
Diffstat (limited to 'plugins/base/routes.go')
-rw-r--r-- | plugins/base/routes.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/plugins/base/routes.go b/plugins/base/routes.go index 623a5cc..4640c93 100644 --- a/plugins/base/routes.go +++ b/plugins/base/routes.go @@ -1243,6 +1243,8 @@ type Settings struct { Signature string From string Subscriptions []string + SMTPUsername string + SMTPPassword string } func loadSettings(s alps.Store) (*Settings, error) { @@ -1268,6 +1270,12 @@ func (s *Settings) check() error { if len(s.From) > 512 { return fmt.Errorf("Full name must be 512 characters or fewer") } + if len(s.SMTPUsername) > 255 { + return fmt.Errorf("SMTP username must be 255 characters or fewer") + } + if len(s.SMTPPassword) > 255 { + return fmt.Errorf("SMTP password must be 255 characters or fewer") + } return nil } @@ -1311,6 +1319,8 @@ func handleSettings(ctx *alps.Context) error { } settings.Signature = ctx.FormValue("signature") settings.From = ctx.FormValue("from") + settings.SMTPUsername = ctx.FormValue("smtp_username") + settings.SMTPPassword = ctx.FormValue("smtp_password") params, err := ctx.FormParams() if err != nil { |