All Projects → JoggApp → Laravel Mail Viewer

JoggApp / Laravel Mail Viewer

Licence: mit
View all the mailables in your laravel app at a single place

Projects that are alternatives of or similar to Laravel Mail Viewer

Laravel Mail Editor
MailEclipse ⚡ Laravel Mailable Editor!
Stars: ✭ 1,714 (+444.13%)
Mutual labels:  laravel, laravel-package, mail
Laravel Gamp
📊 Laravel Google Analytics Measurement Protocol Package
Stars: ✭ 271 (-13.97%)
Mutual labels:  laravel, laravel-package
Laravel Nova Excel
🚀 Supercharged Excel exports for Laravel Nova Resources
Stars: ✭ 259 (-17.78%)
Mutual labels:  laravel, laravel-package
Mercurius
Real-time Messenger for Laravel
Stars: ✭ 309 (-1.9%)
Mutual labels:  laravel, laravel-package
Laravel Starter
A CMS like modular starter application project built with Laravel 8.x.
Stars: ✭ 299 (-5.08%)
Mutual labels:  laravel, laravel-package
Nexmo Laravel
Add Nexmo functionality such as SMS and voice calling to your Laravel app with this Laravel Service Provider.
Stars: ✭ 250 (-20.63%)
Mutual labels:  laravel, laravel-package
Laravel Achievements
Achievements for Laravel 5.3+
Stars: ✭ 279 (-11.43%)
Mutual labels:  laravel, laravel-package
Auth Tests
Always-current tests for Laravel's authentication system. Curated by the community.
Stars: ✭ 230 (-26.98%)
Mutual labels:  laravel, laravel-package
Assets
An ultra-simple-to-use assets management library for PHP
Stars: ✭ 292 (-7.3%)
Mutual labels:  laravel, laravel-package
Administrator
a fork from Frozennode/Administrator
Stars: ✭ 296 (-6.03%)
Mutual labels:  laravel, laravel-package
Mailgun
Mailgun package for Laravel
Stars: ✭ 297 (-5.71%)
Mutual labels:  laravel, mail
Laravel Localization
Easy localization for Laravel
Stars: ✭ 2,816 (+793.97%)
Mutual labels:  laravel, laravel-package
Laravel Gitscrum
GitScrum is a Project Management Tool, developed to help entrepreneurs, freelancers, managers, and teams Skyrocket their Productivity with the Agile methodology and Gamification.
Stars: ✭ 2,686 (+752.7%)
Mutual labels:  laravel, laravel-package
Laravel User Activity
Monitor user activity easily!
Stars: ✭ 253 (-19.68%)
Mutual labels:  laravel, laravel-package
Laravel Multilingual Routes
A package to handle multilingual routes in your Laravel application.
Stars: ✭ 241 (-23.49%)
Mutual labels:  laravel, laravel-package
Laravel Postal Code Validation
Worldwide postal code validation for Laravel and Lumen
Stars: ✭ 278 (-11.75%)
Mutual labels:  laravel, laravel-package
Laravel Welcome Notification
Send a welcome notification to new users
Stars: ✭ 299 (-5.08%)
Mutual labels:  laravel, mail
Laravel Views
Laravel package to create beautiful common views like data tables using the TALL stack.
Stars: ✭ 221 (-29.84%)
Mutual labels:  laravel, laravel-package
Laravel Query Monitor
Simple artisan command to monitoring triggered queries
Stars: ✭ 230 (-26.98%)
Mutual labels:  laravel, laravel-package
Laravel Sign In With Apple
Provide "Sign In With Apple" functionality to your Laravel app.
Stars: ✭ 283 (-10.16%)
Mutual labels:  laravel, laravel-package

View all your mailables at a single place

Latest Version Total Downloads

The Design and content team members often need access to the emails your app will be sending out to the users. This is a fairly simple package that makes it possible and tries to minimize developer dependency. By using this package, you can have a dedicated route to view all your mailables at a single place. Having shareable URLs to view the mails makes the team co-ordination more smooth.

Installation

You can install this package via composer using this command:

composer require joggapp/laravel-mail-viewer

The package will automatically register itself.

You will have to add the mailables and configure the other settings using the package's config file in order to to use this package. Please read the comments/description for each config key thoroughly and set their values. You can publish the config file with:

php artisan vendor:publish --provider="JoggApp\MailViewer\MailViewerServiceProvider"

This will create the package's config file called mailviewer.php in the config directory. These are the contents of the published config file:

return [
    /*
    |--------------------------------------------------------------------------
    | Only the mailables registered here can be accessed using this package
    |--------------------------------------------------------------------------
    |
    | You have to add the mailables including their dependencies
    | in the following array. When asked for a mailable, the
    | package will search it here for its definition.
    |
    | Add the mailable definition as shown below in the example.
    | The mailable class will be the key and the dependencies
    | of the mailable class will be defined in an array as well.
    |
    | The package will look for the equivalent factory if the
    | dependency is an eloquent model. So don't forget to
    | create those factories. If you want a specific state to
    | be used for your dependency you will have to pass an array
    | with 'class' and 'states' keys. The class key will have the
    | name of the dependency and states should contain an array of
    | factory states you want to apply to the factory, see the
    | MailWithDependencyStates example below.
    |
    | Please note that the factory times/count feature isn't
    | supported for the factories.
    | Eg:
    | What the package supports: factory(Order::class)->create();
    | What the package doesn't support: factory(Order::class, 5)->create();
    |
    | The package will try to resolve all other non-eloquent objects
    | using the Laravel's service container.
    |
    | Also, don't forget to import these classes at the top :)
    |
    | eg:
    | 'mailables' => [
    |     OrderShipped::class => [
    |         Order::class,
    |         'Personal thank you message',
    |     ],
    |     MailWithDependencyStates::class => [
    |         [
    |             'class' => Order::class,
    |             'states' => ['state1', 'state2']
    |         ]
    |     ],
    |     MailWithNoDependency::class => []
    | ]
    |
    */

    'mailables' => [],

    /*
    |--------------------------------------------------------------------------
    | URL where you want to view the mails
    |--------------------------------------------------------------------------
    |
    | This is the URL where you can view all the
    | mailables registered above.
    |
    */

    'url' => 'mails',

    /*
    |--------------------------------------------------------------------------
    | The environments in which the url should be accessible
    |--------------------------------------------------------------------------
    |
    | If you don't want to use this package in production env
    | at all, you can restrict that using this option
    | rather than by using a middleware.
    |
    */

    'allowed_environments' => ['local', 'staging', 'testing'],

    /*
    |--------------------------------------------------------------------------
    | Middlewares that should be applied to the URL
    |--------------------------------------------------------------------------
    |
    | The value should be an array of fully qualified
    | class names of the middleware classes.
    |
    | Eg: [Authenticate::class, CheckForMaintenanceMode::class]
    | Don't forget to import the classes at the top!
    |
    */

    'middlewares' => [],
];

How to use

  • After setting up the config values as described above, you can see the list of all mailables by visiting the /mails route (considering the default url is 'mails' in the config file). You can modify it to whatever you want as per your needs.

  • You can also restrict the environments the package should list the mailables in. By default, the allowed_environments config is set to allow 3 environments: local, staging & testing. You can further secure it using the middlewares config.

  • Default view:

List of all mails A particular mail rendered

Testing

You can run the tests with:

vendor/bin/phpunit

Changelog

Please see CHANGELOG for more information what has changed recently.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].