Skip to content

Add newsletter signup with listmonk - #72

Merged
dborovcanin merged 1 commit into
mainfrom
newsletter
Jul 24, 2026
Merged

Add newsletter signup with listmonk#72
dborovcanin merged 1 commit into
mainfrom
newsletter

Conversation

@ianmuchyri

Copy link
Copy Markdown
Contributor

Summary

  • Adds a newsletter signup form to the footer, backed by a new /api/subscribe Astro API route (export const prerender = false) that adds the subscriber to a dedicated "Ultraviolet Newsletter" list in listmonk and fires a branded welcome email.
  • Adds /unsubscribe, a real page rather than an API-only endpoint, since listmonk doesn't provide a working unsubscribe link outside of campaign sends — the welcome email links here instead.
  • Routes through a listmonk SMTP server scoped to info@ultraviolet.rs and a list-scoped listmonk API user (uvc-website-tx), so this stays isolated from other products sharing the same listmonk instance.

Test plan

  • pnpm check, pnpm lint, pnpm format:check, pnpm build all pass locally
  • Manually subscribed via the footer form in astro dev — confirmed the subscriber lands in listmonk and the welcome email send succeeds with no errors
  • Manually hit /unsubscribe — confirmed the subscriber is removed from the list, and that re-visiting the same link is idempotent
  • Verified the uvc-website-tx API user cannot see or modify subscribers on other lists in the same listmonk instance
  • Reviewer: confirm the welcome email itself renders correctly in an inbox (SMTP is configured; I only verified the send was accepted, not the rendered result)

🤖 Generated with Claude Code

Adds a footer subscribe form backed by two Astro API routes: subscribe
(adds to the Ultraviolet list and sends a branded welcome email) and
unsubscribe (listmonk has no built-in unsubscribe page outside of
campaign sends, so this is a real page instead of relying on listmonk).
Routes through a dedicated SMTP server and a list-scoped listmonk API
user so this stays isolated from other products on the same instance.
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
uvc-website 0fd436d Commit Preview URL

Branch Preview URL
Jul 24 2026, 09:46 AM

@dborovcanin
dborovcanin merged commit 63e999b into main Jul 24, 2026
2 checks passed
@dborovcanin
dborovcanin deleted the newsletter branch July 24, 2026 14:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants