update marketing
All checks were successful
All checks were successful
This commit is contained in:
62
Modules/MarketingAddon/App/Emails/DynamicMail.php
Normal file
62
Modules/MarketingAddon/App/Emails/DynamicMail.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\MarketingAddon\App\Emails;
|
||||
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Mail\Mailables\Address;
|
||||
use Illuminate\Mail\Mailables\Content;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Support\Facades\Config;
|
||||
use Illuminate\Mail\Mailables\Envelope;
|
||||
|
||||
class DynamicMail extends Mailable
|
||||
{
|
||||
use Queueable, SerializesModels;
|
||||
|
||||
private $data;
|
||||
private $template;
|
||||
|
||||
public function __construct($template, $data)
|
||||
{
|
||||
$this->data = $data;
|
||||
$this->template = $template;
|
||||
}
|
||||
|
||||
public function envelope(): Envelope
|
||||
{
|
||||
return new Envelope(
|
||||
from: new Address(
|
||||
Config::get('mail.from.address'),
|
||||
Config::get('mail.from.name')
|
||||
),
|
||||
subject: $this->template->subject,
|
||||
);
|
||||
}
|
||||
|
||||
public function content(): Content
|
||||
{
|
||||
return new Content(
|
||||
view: 'mail.dynamic-mail',
|
||||
with: [
|
||||
'content' => $this->buildHtml(),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
public function attachments(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
protected function buildHtml()
|
||||
{
|
||||
$message = $this->template->message;
|
||||
|
||||
foreach ($this->data as $key => $value) {
|
||||
$message = str_replace('[' . $key . ']', $value, $message);
|
||||
}
|
||||
|
||||
return $message;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user