PHPackages                             artsites/handle-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. artsites/handle-mail

ActiveLibrary

artsites/handle-mail
====================

A Laravel Nova tool.

0.2.0(4y ago)091MITVuePHP &gt;=7.1.0

Since Dec 9Pushed 4y agoCompare

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

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Laravel Nova Handle-Mail
========================

[](#laravel-nova-handle-mail)

Laravel Nova Tool for managing sending mails from the site through the queue

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

[](#installation)

```
composer require Artsites/handle-mail

```

Register tool in NovaServiceProvider

```
public function tools()
{
     new HandleMail
}

```

After registering publish default files

```
php artisan vendor:publish --provider="Artsites\HandleMail\ToolServiceProvider" --tag="default"

```

> Or you can publish files by tag:
>
> - job
> - mail
> - view
> - script
> - config
> - migration

Then run the commands:

```
php artisan queue:table
php artisan queue:failed-table

php artisan migrate

```

---

#### Required

[](#required)

Update .env:

```
QUEUE_CONNECTION=database

```

Usage
-----

[](#usage)

Enter emails in `config/handle-mail.php` to send mail from the site

```
'email' => [
    //
],

```

> You can skip this step and not use js file for async request in your project

Include published `handle-mail.js` file in your project files, or create your own file to send a request. Add your custom form class to `handle-mail.js` file, or use default class `form`.

```

...

```

Route for request `/handle-mail/send`. Route name `handle-mail.send`

If you need to execute code before sending mail, you can change the path and call the method:

```
namespace Artsites\HandleMail\Http\Controllers\User;

class HandleMailController
{
    /**
     * @param Request $request
     * @param string $subject
     * @param null $callback
     * @return \Illuminate\Http\Response
     */
    public function post(Request $request, string $subject = 'Request', $callback = null)

```

Command for schedule:

```
$schedule->command('queue:work --stop-when-empty --queue=handle-mail')->everyFiveMinutes()

```

---

### View

[](#view)

After publish default files you can change mail template in `resource/views/vendor/handle-mail/mail.blade.php`

---

### Tool localization

[](#tool-localization)

Add this lines to your nova localization file:

```
"Name": "Name",
"Email": "Email",
"Status": "Status",
"status": "status",
"created_at": "created_at",
"Handle Mail": "Handle Mail",
"Failed": "Failed",
"New today": "New today",
"Per month": "Per month",
"The list is empty": "The list is empty",
"Mails": "Mails",
"Email deleted successfully": "Email deleted successfully",
"Error": "Error",
"Mail": "Mail",
"Failed mails": "Failed mails",
"Failed mail": "Failed mail"
"Resend all emails": "Resend all emails",
"Request": "Request",
"failed_at":"failed_at",
"exception":"exception",
"Send mail":"Send mail",
"Mail sent successfully": "Mail sent successfully",
"Delete email":"Delete email"

```

You can add more localization lines, they automatic update your keys in mail templates and in tool pages

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 88.9% 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

1620d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/dfbde32d1b20aeae6dfeb5d0edcb5c7c6e80c1b8ec614a9b0280398103423b8e?d=identicon)[axharus](/maintainers/axharus)

---

Top Contributors

[![arthedain](https://avatars.githubusercontent.com/u/26961867?v=4)](https://github.com/arthedain "arthedain (16 commits)")[![dprhmk](https://avatars.githubusercontent.com/u/68992437?v=4)](https://github.com/dprhmk "dprhmk (2 commits)")

---

Tags

laravelnova

### Embed Badge

![Health badge](/badges/artsites-handle-mail/health.svg)

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

###  Alternatives

[optimistdigital/nova-multiselect-field

A multiple select field for Laravel Nova.

3403.5M7](/packages/optimistdigital-nova-multiselect-field)[coreproc/nova-notification-feed

A Laravel Nova package that adds a notification feed in your Nova app.

10149.1k](/packages/coreproc-nova-notification-feed)[inspheric/nova-defaultable

Default values for Nova fields when creating resources and running resource actions.

51174.8k1](/packages/inspheric-nova-defaultable)[cybercog/laravel-nova-ban

A Laravel Nova banning functionality for your application.

40199.8k](/packages/cybercog-laravel-nova-ban)[insenseanalytics/nova-server-monitor

A Laravel Nova tool for Spatie's Server Monitor library.

6546.9k](/packages/insenseanalytics-nova-server-monitor)[datomatic/nova-detached-actions

A Laravel Nova tool to allow for placing actions in the Nova toolbar detached from the checkbox selection mechanism.

11229.2k](/packages/datomatic-nova-detached-actions)

PHPackages © 2026

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