Newsletter delivery setup.
Gmail SMTP can send messages, but it must be used from a server-side endpoint.
Important: GitHub Pages is static
The IndieFounder site is hosted as a static Jekyll site on GitHub Pages. It cannot run a server-side SMTP client. Never put a Gmail password or Gmail app password in browser JavaScript, HTML, Jekyll front matter, or any public repository file.
A working subscription flow needs a small server-side endpoint that:
- Validates and rate-limits the submitted email address.
- Sends a subscription request to the site owner’s inbox through Gmail SMTP.
- Uses a double-opt-in confirmation before adding someone to a mailing list.
- Stores confirmed subscriptions in a durable, access-controlled place and supports unsubscribe requests.
- Keeps SMTP_USER, SMTP_APP_PASSWORD, and other secrets in the hosting provider’s secret manager.
Gmail SMTP settings
- Host: smtp.gmail.com
- Port: 587 with STARTTLS (or port 465 with TLS)
- Username: your full Gmail address
- Password: a Google App Password, only when 2-Step Verification is enabled and App Passwords are available for the account. Do not use your regular Gmail password.
- Sender address: normally the authenticated Gmail address.
The server endpoint must be hosted separately from GitHub Pages. A static page cannot securely deliver the subscription form directly to Gmail SMTP, and a browser-only form cannot safely maintain a subscriber list.
Current site behavior
The newsletter form should remain disabled until a real server endpoint is configured. This avoids showing a false success message or collecting email addresses without a working, privacy-conscious subscription process. Configure the endpoint URL only after the backend has been deployed and tested.