bind mailjet mailer to emailer

This commit is contained in:
Yisroel Baum 2026-05-11 10:37:54 +03:00
parent d726da1e04
commit 2902addc76
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9

View file

@ -12,11 +12,12 @@ use App\Email\EmailConfirmationToken\EmailConfirmationTokenRepository;
use App\Email\Emailer;
use App\Email\EmailFactory;
use App\Email\LaravelEmailFactory;
use App\Email\LaravelMailer;
use App\Email\MailjetMailer;
use App\User\UseCases\SignupUser\SignupUser;
use App\User\UserRepository;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Support\ServiceProvider;
use Mailjet\Client;
class AppServiceProvider extends ServiceProvider
{
@ -25,7 +26,17 @@ class AppServiceProvider extends ServiceProvider
$this->app->bind(Clock::class, SystemClock::class);
$this->app->bind(TokenGenerator::class, RandomTokenGenerator::class);
$this->app->bind(PasswordHasher::class, BcryptPasswordHasher::class);
$this->app->bind(Emailer::class, LaravelMailer::class);
$this->app->bind(Emailer::class, function (Application $app) {
return new MailjetMailer(
mailjet: new Client(
config('services.mailjet.key'),
config('services.mailjet.secret'),
true,
['version' => 'v3.1'],
),
fromName: config('mail.from.name'),
);
});
$this->app->bind(
EmailFactory::class,
function () {