areeb/email-service
Laravel package for email service
6,004
1
| Install | |
|---|---|
composer require areeb/email-service |
|
| Latest Version: | 1.0.0 |
| PHP: | ^8.0|^8.1|^8.2 |
| License: | MIT |
| Last Updated: | Feb 26, 2024 |
| Links: | GitHub · Packagist |
Maintainer: husseinzaher
Areeb mail service
This package adds state support to models.
To give you a feel about how this package can be used, let's look at a quick example.
Installation
You can install the package via composer:
composer require areeb/email-service
You can publish the config file with:
php artisan vendor:publish --provider="Areeb\EmailService\EmailServiceServiceProvider" --tag="email-service-config"
use Areeb\EmailService\Contracts\EmailReceiverAble;
use Areeb\EmailService\Traits\HasEmailReceiver;
class User extends Model implements EmailReceiverAble
{
use HasEmailReceiver;
}
<?php
use Areeb\EmailService\Channels\MailServiceChannel;
use Areeb\EmailService\Classes\Attachments;
use Areeb\EmailService\Contracts\EmailServiceAble;
use Areeb\EmailService\DTO\EmailDTO;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
class NotificationClass extends \Illuminate\Auth\Notifications\VerifyEmail implements ShouldQueue, EmailServiceAble
{
use Queueable;
public function via($notifiable)
{
return [MailServiceChannel::class];
}
protected function buildMailMessage($url)
{
return (new MailMessage())
->subject('Welcome!')
->markdown('emails.verify', ['url' => $url]);
}
public function toMailService($notifiable, EmailServiceAble $notification): EmailDTO
{
$attachments = Attachments::instance();
$attachments -> addFile('test.png',
'https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png');
$emailTemplate = new VerifyEmailTemplate();
return EmailDTO::instance(
subject: __('notification.verify-email'),
template: $emailTemplate,
to: $notifiable,
attachments: $attachments
);
}
}
License
The MIT License (MIT). Please see License File for more information.
Related Packages
flameplace/sendpulse-laravel
Laravel Package for Sendpulse API. Provides easy access to the sendpulse/sendpul...
1,215
0
dvomaks/laravel-sendpulse
A minimal service provider to set up and use the SendPulse PHP library in Larave...
2,663
1
wensleydale/sendpulse-laravel
A minimal service provider to set up and use the SendPulse PHP library in Larave...
4,387
7
php-tmdb/laravel
Laravel Package for TMDB ( The Movie Database ) API. Provides easy access to the...
53,315
160