Added a retry email service provider

This commit is contained in:
2025-03-05 12:13:53 +00:00
parent 1916b626bc
commit 505890e384
4 changed files with 287 additions and 0 deletions

View File

@@ -19,6 +19,7 @@ use Psr\Http\Message\ServerRequestInterface as Request;
use UserFrosting\Sprinkle\Core\Log\MixedFormatter;
use UserFrosting\Sprinkle\UFTweaks\Twig\HasRoleExtension;
use UserFrosting\Sprinkle\UFTweaks\Twig\MobileDetectExtension;
use UserFrosting\Sprinkle\UFTweaks\Mail\RetryMailer;
/**
@@ -209,5 +210,26 @@ class ServicesProvider
return $logger;
};
/*
* Mail service.
*
* @return \UserFrosting\Sprinkle\Core\Mail\Mailer
* @return \UserFrosting\Sprinkle\UFTweaks\Mail\RetryMailer
*/
$container->extend('mailer', function ($mailer, $c) {
if (!$c->config['retry_mailer.enabled']) {
return $mailer;
}
$retryMailer = new RetryMailer($c->mailLogger, $c->config['mail']);
// Use UF debug settings to override any service-specific log settings.
if (!$c->config['debug.smtp']) {
$retryMailer->getPhpMailer()->SMTPDebug = 0;
}
return $retryMailer;
});
}
}