areeb/email-service

1.0.0 2023-12-25 09:13 UTC

This package is auto-updated.

Last update: 2024-09-26 23:26:14 UTC


README

此包为模型添加了状态支持。

为了让您了解如何使用此包,以下是一个快速示例。

安装

您可以通过 composer 安装此包

composer require areeb/email-service

您可以使用以下命令发布配置文件

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
        );
    }
}

许可证

MIT 许可证(MIT)。请参阅许可证文件获取更多信息。