Files
webnaplo-gulbaba-api/src/App/Service/MailerServiceFactory.php
2018-11-11 12:01:18 +01:00

26 lines
737 B
PHP

<?php
namespace App\Service;
use Interop\Container\ContainerInterface;
use Monolog\Logger;
use Zend\Mail\Transport\File;
use Zend\Mail\Transport\Smtp;
class MailerServiceFactory
{
public function __invoke(ContainerInterface $container): MailerService
{
$config = $container->get('config');
/** @var Smtp|File $mailTransport */
$mailTransport = new $config['mailer']['transportClass']();
$transportOptions = new $config['mailer']['optionsClass']($config['mailer']['options']);
$mailTransport->setOptions($transportOptions);
/** @var Logger $logger */
$logger = $container->get(Logger::class);
return new MailerService($mailTransport, $config, $logger);
}
}