Git Product home page Git Product logo

laravel-mail-preview's Introduction

Laravel Mail Preview Driver

Latest Version on Packagist Software License Total Downloads

This package introduces a new preview mail driver for laravel, when selected it will produce the content of the sent mail and save it as .html & .eml documents.

Installation

Begin by installing the package through Composer. Run the following command in your terminal:

composer require themsaid/laravel-mail-preview

Once composer is done, add the package service provider in the providers array in config/app.php:

Themsaid\MailPreview\MailPreviewServiceProvider::class

Then publish the config file:

php artisan vendor:publish --provider="Themsaid\MailPreview\MailPreviewServiceProvider"

Finally, change MAIL_DRIVER to preview in your .env file:

MAIL_DRIVER=preview

How it works

On every email sent a .html & a .eml documents will be generated in storage/email-previews with a name that includes the first receiver and the subject:

1457904864_jack_at_gmail_com_invoice_000234.html
1457904864_jack_at_gmail_com_invoice_000234.eml

You can open the .html file in a web browser, or open the .eml file in your default email client to have a realistic look at the final output.

Preview in a web browser

When you open the .html file in a web browser you'll be able to see how your email will look like, however there might be some differences that varies from an email client to another.

At the beginning of the generated file you'll find a HTML comment with all the message info:

<!--
From:{"[email protected]":"Acme HQ"},
to:{"[email protected]":"Jack Black"},
reply-to:{"[email protected]"},
cc:[{"[email protected]":"Acme Finance"}, {"[email protected]":"Acme Management"}],
bcc:null,
subject:Invoice #000234
-->

Package Configurations

From the configuration file you'll be able to change the previews output location as well as the maximum life time for keeping previews, after this time old previews will get removed.

Logged out after clicked on the preview link

You always will lose your current session, if you click on the generated notification link. This is because Laravel stores the session in an encrypted cookie. To change this behavior, you have to adjust the middleware property in the config/mailpreview.php file to match the following snippet:

    'middleware' => [
        \App\Http\Middleware\EncryptCookies::class,
    ],

laravel-mail-preview's People

Contributors

themsaid avatar bjrnblm avatar mustafaaloko avatar aaronfahey avatar adrianogl avatar hosmelq avatar mikemand avatar vinkla avatar chefe avatar mattsparks avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.