PHPackages                             vladaurbanek/beauty-mail - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. vladaurbanek/beauty-mail

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

vladaurbanek/beauty-mail
========================

Send beautiful html emails with Laravel

1.1.5(3y ago)08MITBladePHP &gt;=7.4

Since Feb 18Pushed 3y ago1 watchersCompare

[ Source](https://github.com/vladaurbanek/beauty-mail)[ Packagist](https://packagist.org/packages/vladaurbanek/beauty-mail)[ RSS](/packages/vladaurbanek-beauty-mail/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Beautymail for Laravel
======================

[](#beautymail-for-laravel)

Beautymail makes it super easy to send beautiful responsive HTML emails. It's made for things like:

- Welcome emails
- Password reminders
- Invoices
- Data exports

If you're on Laravel 4, use the `1.x` branch.

### Index:

[](#index)

- [Templates](#templates)
- [Installation](#installation)
- [Send your first Beauty mail](#send-your-first-beauty-mail)
- [Options](#options)
- [Lumen support](#lumen-support)

Templates
---------

[](#templates)

There are tons of great looking HTML email templates out there. Campaign Monitor and Mailchimp has released hundreds for free. It is pretty simple to adapt a template to Beautymail. If you do, please send a PR.

**Widgets** by [Campaign Monitor](https://www.campaignmonitor.com/templates/all/):

[![Widget Template](screenshots/widgets.png?raw=true "Widgets template")](screenshots/widgets.png?raw=true)

**Minty** by **Stamplia**:

[![Widget Template](screenshots/minty.png?raw=true "Widgets template")](screenshots/minty.png?raw=true)

**Sunny**

[![Widget Template](screenshots/sunny.png?raw=true "Sunny template")](screenshots/sunny.png?raw=true)

Installation
------------

[](#installation)

Add the package to your `composer.json` by running:

```
composer require snowfire/beautymail

```

When it's installed, add it to the providers list in `config/app.php`

```
Snowfire\Beautymail\BeautymailServiceProvider::class,

```

Publish assets to your public folder

```
php artisan vendor:publish --provider="Snowfire\Beautymail\BeautymailServiceProvider"

```

Configure your settings such as logo url and social links in `config/beautymail.php`

Send your first Beauty mail
---------------------------

[](#send-your-first-beauty-mail)

Add this to your `routes.php`

```
Route::get('/test', function()
{
	$beautymail = app()->make(Snowfire\Beautymail\Beautymail::class);
    $beautymail->send('emails.welcome', [], function($message)
    {
        $message
			->from('bar@example.com')
			->to('foo@example.com', 'John Smith')
			->subject('Welcome!');
    });

});
```

Now create `resources/views/emails/welcome.blade.php`

```
@extends('beautymail::templates.widgets')

@section('content')

	@include('beautymail::templates.widgets.articleStart')

		Hello World
		This is a test

	@include('beautymail::templates.widgets.articleEnd')

	@include('beautymail::templates.widgets.newfeatureStart')

		Hello World again
		This is another test

	@include('beautymail::templates.widgets.newfeatureEnd')

@stop
```

That's it!

Options
-------

[](#options)

### *Template:* Widgets

[](#template-widgets)

To change colours for the different segments, pass a colour variable:

```
@include('beautymail::templates.widgets.articleStart', ['color' => '#0000FF'])
```

#### Minty template example

[](#minty-template-example)

```
@extends('beautymail::templates.minty')

@section('content')

	@include('beautymail::templates.minty.contentStart')

				Welcome Steve

				This is a paragraph text

				This is a heading

				More paragraph text.

				@include('beautymail::templates.minty.button', ['text' => 'Sign in', 'link' => '#'])

	@include('beautymail::templates.minty.contentEnd')

@stop
```

### Ark template example

[](#ark-template-example)

```
@extends('beautymail::templates.ark')

@section('content')

    @include('beautymail::templates.ark.heading', [
		'heading' => 'Hello World!',
		'level' => 'h1'
	])

    @include('beautymail::templates.ark.contentStart')

        Hello World
        This is a test

    @include('beautymail::templates.ark.contentEnd')

    @include('beautymail::templates.ark.heading', [
		'heading' => 'Another headline',
		'level' => 'h2'
	])

    @include('beautymail::templates.ark.contentStart')

        Hello World again
        This is another test

    @include('beautymail::templates.ark.contentEnd')

@stop
```

#### Sunny template example

[](#sunny-template-example)

```
@extends('beautymail::templates.sunny')

@section('content')

    @include ('beautymail::templates.sunny.heading' , [
        'heading' => 'Hello!',
        'level' => 'h1',
    ])

    @include('beautymail::templates.sunny.contentStart')

        Today will be a great day!

    @include('beautymail::templates.sunny.contentEnd')

    @include('beautymail::templates.sunny.button', [
        	'title' => 'Click me',
        	'link' => 'http://google.com'
    ])

@stop
```

Lumen support
-------------

[](#lumen-support)

In order to get this working on Lumen follow the installation instructions except for the `artisan vendor:publish` command, since Lumen does not provide this command. Instead you have to copy the assets folder from `vendor/snowfire/beautymail/public/` to the public folder in your Lumen project manually.

Make sure to also put the `beautymail.php` config file in the `config` folder (default available in `src/config/settings.php`)

### Enable mailing in Lumen

[](#enable-mailing-in-lumen)

After this you will need to install and configure `illuminate/mailer` with:

```
composer require illuminate/mail

```

and add this to your `bootstrap/app.php`:

```
$app->withFacades();
$app->register(App\Providers\AppServiceProvider::class);

```

See [this blog post](https://medium.com/@edwardsteven/using-lumen-and-laravel-mail-with-mailgun-270415daed37) for more details and how to use different mail libraries in lumen:

### Configure Beautymail classes and configuration parameters

[](#configure-beautymail-classes-and-configuration-parameters)

In order to get Beautymail working on Lumen you need to add the following to your `bootstrap/app.php` in order to resolve missing config files, parameters and classes (before you register `BeautymailServiceProvider`):

```
// Provide required path variables
$app->instance('path.config', env("STORAGE_DIR", app()->basePath()) . DIRECTORY_SEPARATOR . 'config');
$app->instance('path.public', env("STORAGE_DIR", app()->basePath()) . DIRECTORY_SEPARATOR . 'public');

// Enable config for beautymail
$app->configure('beautymail');

// Provide class alliases to resolve Request and Config
class_alias(\Illuminate\Support\Facades\Request::class, "\Request");
class_alias(\Illuminate\Support\Facades\Config::class, "\Config");

```

### Start using Beautymail

[](#start-using-beautymail)

Congratulations, you can know start using bBautmail in Lumen. See: [Send your first Beauty mail](#send-your-first-beauty-mail) on what to do next.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1179d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9de61981d3709aec1670def78347849dc8d90240634d49ae77fd9e5d361fbd74?d=identicon)[vladaurbanek](/maintainers/vladaurbanek)

---

Top Contributors

[![vladaurbanek](https://avatars.githubusercontent.com/u/31504929?v=4)](https://github.com/vladaurbanek "vladaurbanek (1 commits)")

---

Tags

laravelemailhtml

### Embed Badge

![Health badge](/badges/vladaurbanek-beauty-mail/health.svg)

```
[![Health](https://phpackages.com/badges/vladaurbanek-beauty-mail/health.svg)](https://phpackages.com/packages/vladaurbanek-beauty-mail)
```

###  Alternatives

[snowfire/beautymail

Send beautiful html emails with Laravel

1.3k733.1k2](/packages/snowfire-beautymail)[propaganistas/laravel-disposable-email

Disposable email validator

5762.6M6](/packages/propaganistas-laravel-disposable-email)[erag/laravel-disposable-email

A Laravel package to detect and block disposable email addresses.

226102.4k](/packages/erag-laravel-disposable-email)[osiemsiedem/laravel-autolink

A Laravel package for converting URLs in a given string of text into clickable links.

13126.3k](/packages/osiemsiedem-laravel-autolink)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
