Skip to content

SMTP Configuration: Form rejects blank credentials, blocking auth-less relays #141

@zachweyland

Description

@zachweyland

Title

SMTP Configuration: Form rejects blank credentials, blocking auth-less relays

Description

The SMTP configuration form requires non-empty Username and Password fields, which prevents using SMTP servers that don't require authentication (IP-whitelisted relays, local Postfix/Mailpit, etc.).

This was previously reported in #77 and #58, both closed pointing at v0.2.0. Reproduced on a clean v0.2.0 install with a wiped data volume.

Root Cause

Form-level validation requires Username and Password to be non-empty before the config can be saved. There's no path to configure the client to skip AUTH LOGIN entirely.

This matters specifically for Google Workspace's SMTP relay (smtp-relay.gmail.com:587), which authenticates by source IP. Once a client sends AUTH LOGIN, Gmail validates the credentials and rejects with 535 5.7.8 Username and Password not accepted — there is no fallthrough to the IP allowlist. So filling dummy credentials isn't a workaround, it's a hard fail.

Expected Behavior

Blank Username + Password should save successfully, and the SMTP client should connect without sending AUTH LOGIN.

Current Behavior

  • Blank Username + Password → "Configuration error" / "Please fill in all required fields"
  • Dummy credentials → form saves, but Gmail rejects on send with 535 5.7.8 Username and Password not accepted
  • "From Email" field disappears once Username is populated, blocking the send-as-alias workaround

Environment

  • dartsteven/nutify:latest-amd64 (v0.2.0)
  • Docker on UGREEN UGOS Pro NAS, Portainer-managed stack
  • Single profile, macvlan network, dedicated LAN IP
  • Fresh install, data volume wiped before upgrade from 0.1.7.1

Verification

Confirmed the relay path itself works — curl smtp://smtp-relay.gmail.com:587 from inside the container sends mail successfully with no auth (250 2.0.0 OK). The issue is purely Nutify's form-level validation.

Solution Options

  1. Allow blank credentials — skip AUTH LOGIN when both fields are empty
  2. Add an explicit "No authentication" toggle — clearer UX, same effect
  3. Decouple "From Email" from Username — so send-as-alias setups still work when credentials are populated

Repro

  1. Email Configuration → Custom Configuration
  2. SMTP Server: smtp-relay.gmail.com, Port: 587, STARTTLS on, TLS/SSL off
  3. Leave Username + Password blank
  4. Save → "Configuration error"

Happy to pull logs or test patches.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions