82 lines
3.0 KiB
PHP
82 lines
3.0 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Symfony package.
|
|
*
|
|
* (c) Fabien Potencier <fabien@symfony.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
|
|
|
use Symfony\Component\Mailer\EventListener\EnvelopeListener;
|
|
use Symfony\Component\Mailer\EventListener\MessageListener;
|
|
use Symfony\Component\Mailer\EventListener\MessageLoggerListener;
|
|
use Symfony\Component\Mailer\Mailer;
|
|
use Symfony\Component\Mailer\MailerInterface;
|
|
use Symfony\Component\Mailer\Messenger\MessageHandler;
|
|
use Symfony\Component\Mailer\Transport;
|
|
use Symfony\Component\Mailer\Transport\TransportInterface;
|
|
use Symfony\Component\Mailer\Transport\Transports;
|
|
|
|
return static function (ContainerConfigurator $container) {
|
|
$container->services()
|
|
->set('mailer.mailer', Mailer::class)
|
|
->args([
|
|
service('mailer.transports'),
|
|
abstract_arg('message bus'),
|
|
service('event_dispatcher')->ignoreOnInvalid(),
|
|
])
|
|
->alias('mailer', 'mailer.mailer')
|
|
->alias(MailerInterface::class, 'mailer.mailer')
|
|
|
|
->set('mailer.transports', Transports::class)
|
|
->factory([service('mailer.transport_factory'), 'fromStrings'])
|
|
->args([
|
|
abstract_arg('transports'),
|
|
])
|
|
|
|
->set('mailer.transport_factory', Transport::class)
|
|
->args([
|
|
tagged_iterator('mailer.transport_factory'),
|
|
])
|
|
|
|
->set('mailer.default_transport', TransportInterface::class)
|
|
->factory([service('mailer.transport_factory'), 'fromString'])
|
|
->args([
|
|
abstract_arg('env(MAILER_DSN)'),
|
|
])
|
|
->alias(TransportInterface::class, 'mailer.default_transport')
|
|
|
|
->set('mailer.messenger.message_handler', MessageHandler::class)
|
|
->args([
|
|
service('mailer.transports'),
|
|
])
|
|
->tag('messenger.message_handler')
|
|
|
|
->set('mailer.envelope_listener', EnvelopeListener::class)
|
|
->args([
|
|
abstract_arg('sender'),
|
|
abstract_arg('recipients'),
|
|
])
|
|
->tag('kernel.event_subscriber')
|
|
|
|
->set('mailer.message_listener', MessageListener::class)
|
|
->args([
|
|
abstract_arg('headers'),
|
|
])
|
|
->tag('kernel.event_subscriber')
|
|
|
|
->set('mailer.logger_message_listener', MessageLoggerListener::class)
|
|
->tag('kernel.event_subscriber')
|
|
->tag('kernel.reset', ['method' => 'reset'])
|
|
->deprecate('symfony/framework-bundle', '5.2', 'The "%service_id%" service is deprecated, use "mailer.message_logger_listener" instead.')
|
|
|
|
->set('mailer.message_logger_listener', MessageLoggerListener::class)
|
|
->tag('kernel.event_subscriber')
|
|
->tag('kernel.reset', ['method' => 'reset'])
|
|
;
|
|
};
|