<?xml version="1.0" encoding="UTF-8" ?>

<container xmlns="http://symfony.com/schema/dic/services"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">

    <parameters>
        <parameter key="swiftmailer.class">Swift_Mailer</parameter>

        <parameter key="swiftmailer.transport.sendmail.class">Swift_Transport_SendmailTransport</parameter>
        <parameter key="swiftmailer.transport.mail.class">Swift_Transport_MailTransport</parameter>

        <parameter key="swiftmailer.transport.failover.class">Swift_Transport_FailoverTransport</parameter>

        <parameter key="swiftmailer.plugin.redirecting.class">Swift_Plugins_RedirectingPlugin</parameter>
        <parameter key="swiftmailer.plugin.impersonate.class">Swift_Plugins_ImpersonatePlugin</parameter>
        <parameter key="swiftmailer.plugin.messagelogger.class">Swift_Plugins_MessageLogger</parameter>
        <parameter key="swiftmailer.plugin.antiflood.class">Swift_Plugins_AntiFloodPlugin</parameter>
        <parameter key="swiftmailer.plugin.antiflood.threshold">99</parameter>
        <parameter key="swiftmailer.plugin.antiflood.sleep">0</parameter>

        <parameter key="swiftmailer.data_collector.class">Symfony\Bridge\Swiftmailer\DataCollector\MessageDataCollector</parameter>
    </parameters>

    <services>
        <service id="swiftmailer.mailer" class="%swiftmailer.class%" public="false">
            <argument type="service" id="swiftmailer.transport" />
        </service>

        <service id="swiftmailer.transport.sendmail" class="%swiftmailer.transport.sendmail.class%" public="false">
            <argument type="service" id="swiftmailer.transport.buffer" />
            <argument type="service" id="swiftmailer.transport.eventdispatcher" />
        </service>

        <service id="swiftmailer.transport.mail" class="%swiftmailer.transport.mail.class%" public="false">
            <argument type="service" id="swiftmailer.transport.mailinvoker" />
            <argument type="service" id="swiftmailer.transport.eventdispatcher" />
        </service>

        <service id="swiftmailer.transport.failover" class="%swiftmailer.transport.failover.class%" public="false" />

        <service id="swiftmailer.transport.mailinvoker" class="Swift_Transport_SimpleMailInvoker" public="false" />

        <service id="swiftmailer.transport.buffer" class="Swift_Transport_StreamBuffer" public="false">
            <argument type="service" id="swiftmailer.transport.replacementfactory" />
        </service>

        <service id="swiftmailer.transport.authhandler" class="Swift_Transport_Esmtp_AuthHandler" public="false">
            <argument type="collection">
                <argument type="service"><service class="Swift_Transport_Esmtp_Auth_CramMd5Authenticator" public="false" /></argument>
                <argument type="service"><service class="Swift_Transport_Esmtp_Auth_LoginAuthenticator" public="false" /></argument>
                <argument type="service"><service class="Swift_Transport_Esmtp_Auth_PlainAuthenticator" public="false" /></argument>
            </argument>
        </service>

        <service id="swiftmailer.transport.eventdispatcher" class="Swift_Events_SimpleEventDispatcher" public="false" />

        <service id="swiftmailer.transport.replacementfactory" class="Swift_StreamFilters_StringReplacementFilterFactory" public="false" />

        <service id="swiftmailer.transport.null" class="Swift_Transport_NullTransport" public="false">
            <argument type="service" id="swiftmailer.transport.eventdispatcher" />
        </service>

        <service id="swiftmailer.plugin.redirecting" class="%swiftmailer.plugin.redirecting.class%" public="false">
            <argument>%swiftmailer.single_address%</argument>
            <argument>%swiftmailer.delivery_whitelist%</argument>
        </service>

        <service id="swiftmailer.plugin.antiflood" class="%swiftmailer.plugin.antiflood.class%" public="false">
            <argument>%swiftmailer.plugin.antiflood.threshold%</argument>
            <argument>%swiftmailer.plugin.antiflood.sleep%</argument>
        </service>

        <service id="swiftmailer.plugin.impersonate" class="%swiftmailer.plugin.impersonate.class%" public="false">
            <argument>%swiftmailer.sender_address%</argument>
        </service>

        <service id="swiftmailer.plugin.messagelogger" class="%swiftmailer.plugin.messagelogger.class%" />

        <service id="swiftmailer.data_collector" class="%swiftmailer.data_collector.class%" public="false">
            <argument type="service" id="service_container" />
            <argument>%swiftmailer.spool.enabled%</argument>
        </service>

        <service id="swiftmailer.transport" alias="swiftmailer.transport.smtp" public="false" />
    </services>
</container>
