Contact us messages

Public /contact inbox (ContactMessage). View marks read. No in-app reply. Categories are fixed enums.

Contact us messages

Inbox for the public contact form (/contact).

Where to find it

Admin → TicketsContact us (/admin/tickets/contact-messages)

How it works

Search and sort messages (default 30/page). Categories are hardcoded: technical, sales, billing (not ticket categories). Subject 3–200; body 20–4000.

Unread = readAt null (sidebar badge). View loads the message and marks it read (no unread-again UI). Delete is permanent. There is no reply-from-admin composer - email the From address.

Public rate limit about 8/IP/hour. Captcha uses contact_captcha_enabled (default off).

Common problems

Badge still shows after scrolling the list

Opening View clears unread; listing alone does not.

Looking for ticket categories here

Contact categories are hardcoded enums, separate from Ticket categories.

Related