25 lines
586 B
PHP
25 lines
586 B
PHP
<?php
|
|
|
|
namespace App\Email;
|
|
|
|
use App\Shared\ValueObject\EmailAddress;
|
|
use Illuminate\Contracts\Mail\Mailer;
|
|
use Illuminate\Mail\Message;
|
|
|
|
class LaravelEmailer implements Emailer
|
|
{
|
|
public function __construct(private Mailer $mailer) {}
|
|
|
|
public function send(
|
|
EmailAddress $recipient,
|
|
string $subject,
|
|
string $body,
|
|
): void {
|
|
$this->mailer->raw(
|
|
$body,
|
|
function (Message $message) use ($recipient, $subject): void {
|
|
$message->to($recipient->value())->subject($subject);
|
|
},
|
|
);
|
|
}
|
|
}
|