michal78 / laravel-sms-catcher
A development-only inbox for inspecting Laravel SMS notifications.
Installs: 25
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:Blade
pkg:composer/michal78/laravel-sms-catcher
Requires
- php: ^8.1
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0
- dev-main
- v1.1.0
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-codex/add-os-dark-mode-support-and-toggle
- dev-copilot/fix-message-word-wrap
- dev-codex/show-from-in-the-list
- dev-copilot/update-readme-images
- dev-codex/add-unit-tests
- dev-copilot/add-change-preview-size-function
- dev-codex/restore-buttons-and-style-delete-option
- dev-michal78-patch-1
- dev-copilot/add-auto-update-toggle-button
- dev-copilot/fix-overview-links-issue
- dev-copilot/fix-links-out-of-screen
- dev-copilot/fix-sms-notification-issue
- dev-codex/fix-sms-delivery-in-paymentnotification
- dev-copilot/update-package-compatibility
- dev-codex/fix-package-installation-error
- dev-codex/create-laravel-package-for-sms-notifications
This package is auto-updated.
Last update: 2025-11-10 14:06:13 UTC
README
Laravel SMS Catcher
A development-only Laravel package that captures SMS notifications and displays them in a beautiful, phone-inspired inbox – think Mailpit, but for your sms notification channel.
Screenshots
SMS Inbox Dashboard
Click to view full-size images:
The main inbox view displays all captured SMS messages with sender, recipient, and timestamp information.
Message Detail View
Click any message to see the full details in a beautiful phone-style preview, making it easy to verify how your SMS will appear to recipients.
Installation
Require the package in your application as a dev dependency. Until a tagged
release is published you will need to target the dev-main branch explicitly:
composer require --dev michal78/laravel-sms-catcher
The package is auto-discovered by Laravel, but you can manually register the service provider if you have discovery disabled:
// config/app.php 'providers' => [ // ... SmsCatcher\SmsCatcherServiceProvider::class, ];
Configuration
By default the dashboard is only enabled when your application is running in the local environment or when APP_DEBUG=true. You can override this behaviour via the SMS_CATCHER_ENABLED environment variable.
Publish the configuration file if you would like to customise the dashboard path or storage location:
php artisan vendor:publish --tag=sms-catcher-config
This will create config/sms-catcher.php with the following options:
enabled: Toggle the catcher on/off.route.prefix: URL prefix for the dashboard (defaults to/sms-catcher).route.middleware: Middleware stack wrapping the dashboard routes.storage_path: File that stores captured messages.
Usage
Trigger any Laravel notification that uses the sms channel and the payload will be recorded automatically. Visit the dashboard (default at http://your-app.test/sms-catcher) to see the inbox:
- Inbox view summarises each message.
- Click a message to view details and a phone-style preview.
- Clear individual messages or wipe the entire inbox.
Messages are stored as JSON within your application's storage folder (storage/framework/sms-catcher.json). The file is safe to delete; it will be recreated as new messages arrive.
Note: The catcher inspects notifications by invoking their
toSmsmethod. Ensure your notifications implement this method and return either a string, array, or object containing the text body.
Security
This package is intended for local development only. Do not enable it in production environments.