Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Laravel Web Mailer

Laravel Web Mailer Laravel Package

creagia/laravel-web-mailer

Preview and debug outgoing Laravel emails in a built-in web inbox. Laravel Web Mailer captures messages sent by your app so you can inspect recipients, headers, HTML/text content, and attachments without external mail tools.

View on GitHub
Deep Wiki
Context7

Laravel mailer which will catch all the sent emails and show them on an application view.

Frequently asked questions about Laravel Web Mailer
What is creagia/laravel-web-mailer used for?
It is a Laravel mail driver that catches outgoing emails sent by your application and displays them in a built-in web inbox. You can inspect recipients, headers, HTML and plain-text bodies, and attachments without running an external tool such as Mailhog or Mailtrap. It is intended for local development and debugging.
How do I install and configure Laravel Web Mailer?
Install it with Composer using composer require creagia/laravel-web-mailer, then add a dedicated mailer entry in config/mail.php that uses the package's driver. Set the corresponding environment variables and point MAIL_MAILER at that mailer. Follow the README for any required publishing of config, views, or migrations.
Which Laravel and PHP versions does it support?
Version 2.0.0 is a breaking release that drops Laravel 9 and 10 and targets Laravel 11, 12, and 13. The exact PHP minimum and Composer constraints are defined in the package's composer.json, so check those before upgrading. Applications still on Laravel 9 or 10 must remain on 1.0.4.
Is it safe to use Laravel Web Mailer in production?
It is a debugging tool, so it is generally not recommended for production. The inbox exposes full email contents, including recipients and attachments, through an application route. If you must enable it outside local development, put the route behind authentication and restrict access to trusted users.
Does it capture queued emails?
Yes, as long as the queue worker runs in the environment where the mailer is configured, the transport handles the message when the queued job is processed. The captured email then appears in the web inbox after the worker sends it. If the job fails before sending, nothing will be captured.
Can I view HTML emails and attachments in the inbox?
Yes. The web inbox lets you inspect the recipients, headers, HTML and text content, and any attachments for each captured message. This makes it useful for checking rendering and debugging multipart emails.
Will it break Mail::fake() in my test suite?
Mail::fake() replaces the mailer before the custom transport is used, so it should still intercept mail in most cases. However, custom transports can interact with fakes in unexpected ways depending on how they are registered. Verify your existing tests after installing and adjust the mailer configuration for the testing environment if needed.
How is this different from Mailhog or Mailtrap?
Laravel Web Mailer stores captured emails inside your Laravel application and shows them through an application view, so you do not need an external SMTP server or service. Mailhog and Mailtrap are standalone tools that receive mail over SMTP and keep it outside your app. The built-in approach is convenient for quick local debugging but less isolated.
How do I upgrade from 1.0.x to 2.0.0?
Treat 2.0.0 as a breaking upgrade: it drops Laravel 9 and 10, and the transport registration was simplified in PR #26. Review the diff and release notes to confirm the driver key and config/mail.php array shape are unchanged. Pin the constraint explicitly, test in a non-production environment, and keep 1.0.4 if you are still on an older Laravel version.
Who maintains Laravel Web Mailer and what support is available?
It is a small community package maintained by a single author (dtorras) with no stated support policy or SLA. Treat support as best-effort and be prepared to vendor or fork the package if it becomes unmaintained. Review the repository activity and test coverage before relying on it in critical workflows.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect