- What does kirschbaum-development/nova-mail do?
- It is a Laravel Nova extension for mail QA inside the admin panel: browse mail classes, inspect rendered emails, and send test messages from a Nova action. It is intended to replace temporary routes and ad hoc preview screens during email development and debugging. The package is presentation and ops tooling, not domain logic, so its blast radius is small.
- How do I install nova-mail in a Laravel Nova application?
- Install it with Composer, register the Nova tool and send-mail action in NovaServiceProvider, then publish the config and assets and run migrations if the package ships them. This follows the standard Nova lifecycle, so a Nova-fluent engineer can usually stand it up in staging in an afternoon. Test the installed feature set in staging before promoting it.
- Does nova-mail support Laravel Nova 4?
- Nova v4 support is the headline of the 4.9.0 release and is the practical unblocker for Nova 4 estates. If your application is still on Nova 3, this release may be a no-op, so sequence the package upgrade with your Nova 4 migration rather than merging it independently. Confirm the exact Nova 3 and Nova 4 compatibility in staging.
- Do I need to publish nova-mail config and assets?
- Yes, standard Nova setup includes publishing the package config and assets, plus running migrations if present. Publishing assets is fine, but hand-editing published DetailField.vue or send-mail modal files creates drift from upstream fixes. Prefer keeping published assets close to upstream unless you have a named owner who diffs customizations.
- Can nova-mail preview rendered Mailables in Nova without temporary routes?
- The package blurb describes browsing mail classes in Nova, inspecting rendered emails, and sending test messages without adding temporary routes. The technical evaluation flags scope ambiguity, because the description and release notes also reference a configurable Mailable registry and UI-configured Model Events. Confirm in staging what your target version actually ships before relying on all of those features.
- How do I send a test email from Laravel Nova using nova-mail?
- Use the Nova send-mail action to compose and send a test message from the admin panel, reusing Laravel's mail configuration instead of building a temporary route. The 4.9.0 release changed send-mail modal HTML, so verify recipients, subject, body, and rendering behavior in staging. Keep production sending scoped to trusted Nova users.
- Does nova-mail work with Filament, Inertia, or a headless admin stack?
- No, the package is coupled to Laravel Nova's field, action, and asset pipelines. Teams on Filament, Livewire, Inertia-based bespoke admin panels, or headless admin stacks get zero leverage from it. It is only a credible fit for applications that already run Laravel Nova.
- What PHP and Laravel versions does nova-mail require?
- The provided context does not state exact minimum PHP and Laravel versions, so check the package composer.json against your supported matrix before adopting it. Nova 4 support is the main version signal in the 4.9.0 release notes. Do not assume minimum versions until you verify them in the dependency constraints.
- Is nova-mail safe to use in production?
- It has a small surface area and sits inside Nova, which keeps operational risk low, but its maintenance baseline is thin: 74 stars, zero dependents, effectively a single maintainer, a last release date of 2022-06-21, and no SLA. Treat it as admin mail-QA tooling rather than critical-path infrastructure. If you adopt it, plan a fork-and-own contingency with a named internal owner.
- Should I fork nova-mail or build my own Mailable preview tool?
- The build-vs-buy case is narrow but real: previewing and test-sending Mailables inside the admin panel is a recurring engineering ask that rarely reaches the top of a backlog. At MIT cost with a small surface area, nova-mail is a credible buy if the delivered feature set matches your mail-QA use case. Fork only if you need upstream fixes or long-term ownership, and assign an internal maintainer before doing so.