.. index:: single: Configuration reference; Swift Mailer SwiftmailerBundle Configuration ("swiftmailer") =============================================== This reference document is a work in progress. It should be accurate, but all options are not yet fully covered. For a full list of the default configuration options, see `Full Default Configuration`_ The ``swiftmailer`` key configures Symfony's integration with Swift Mailer, which is responsible for creating and delivering email messages. The following section lists all options that are available to configure a mailer. It is also possible to configure several mailers (see `Using Multiple Mailers`_). Configuration ------------- * `transport`_ * `username`_ * `password`_ * `host`_ * `port`_ * `encryption`_ * `auth_mode`_ * `spool`_ * `type`_ * `path`_ * `sender_address`_ * `antiflood`_ * `threshold`_ * `sleep`_ * `delivery_address`_ * `disable_delivery`_ * `logging`_ transport ~~~~~~~~~ **type**: ``string`` **default**: ``smtp`` The exact transport method to use to deliver emails. Valid values are: * smtp * gmail (see :doc:`/cookbook/email/gmail`) * mail * sendmail * null (same as setting `disable_delivery`_ to ``true``) username ~~~~~~~~ **type**: ``string`` The username when using ``smtp`` as the transport. password ~~~~~~~~ **type**: ``string`` The password when using ``smtp`` as the transport. host ~~~~ **type**: ``string`` **default**: ``localhost`` The host to connect to when using ``smtp`` as the transport. port ~~~~ **type**: ``string`` **default**: 25 or 465 (depending on `encryption`_) The port when using ``smtp`` as the transport. This defaults to 465 if encryption is ``ssl`` and 25 otherwise. encryption ~~~~~~~~~~ **type**: ``string`` The encryption mode to use when using ``smtp`` as the transport. Valid values are ``tls``, ``ssl``, or ``null`` (indicating no encryption). auth_mode ~~~~~~~~~ **type**: ``string`` The authentication mode to use when using ``smtp`` as the transport. Valid values are ``plain``, ``login``, ``cram-md5``, or ``null``. spool ~~~~~ For details on email spooling, see :doc:`/cookbook/email/spool`. type .... **type**: ``string`` **default**: ``file`` The method used to store spooled messages. Valid values are ``memory`` and ``file``. A custom spool should be possible by creating a service called ``swiftmailer.spool.myspool`` and setting this value to ``myspool``. path .... **type**: ``string`` **default**: ``%kernel.cache_dir%/swiftmailer/spool`` When using the ``file`` spool, this is the path where the spooled messages will be stored. sender_address ~~~~~~~~~~~~~~ **type**: ``string`` If set, all messages will be delivered with this address as the "return path" address, which is where bounced messages should go. This is handled internally by Swift Mailer's ``Swift_Plugins_ImpersonatePlugin`` class. antiflood ~~~~~~~~~ threshold ......... **type**: ``string`` **default**: ``99`` Used with ``Swift_Plugins_AntiFloodPlugin``. This is the number of emails to send before restarting the transport. sleep ..... **type**: ``string`` **default**: ``0`` Used with ``Swift_Plugins_AntiFloodPlugin``. This is the number of seconds to sleep for during a transport restart. delivery_address ~~~~~~~~~~~~~~~~ **type**: ``string`` If set, all email messages will be sent to this address instead of being sent to their actual recipients. This is often useful when developing. For example, by setting this in the ``config_dev.yml`` file, you can guarantee that all emails sent during development go to a single account. This uses ``Swift_Plugins_RedirectingPlugin``. Original recipients are available on the ``X-Swift-To``, ``X-Swift-Cc`` and ``X-Swift-Bcc`` headers. disable_delivery ~~~~~~~~~~~~~~~~ **type**: ``Boolean`` **default**: ``false`` If true, the ``transport`` will automatically be set to ``null``, and no emails will actually be delivered. logging ~~~~~~~ **type**: ``Boolean`` **default**: ``%kernel.debug%`` If true, Symfony's data collector will be activated for Swift Mailer and the information will be available in the profiler. Full Default Configuration -------------------------- .. configuration-block:: .. code-block:: yaml swiftmailer: transport: smtp username: ~ password: ~ host: localhost port: false encryption: ~ auth_mode: ~ spool: type: file path: "%kernel.cache_dir%/swiftmailer/spool" sender_address: ~ antiflood: threshold: 99 sleep: 0 delivery_address: ~ disable_delivery: ~ logging: "%kernel.debug%" .. code-block:: xml Using Multiple Mailers ---------------------- You can configure multiple mailers by grouping them under the ``mailers`` key (the default mailer is identified by the ``default_mailer`` option): .. configuration-block:: .. code-block:: yaml swiftmailer: default_mailer: second_mailer mailers: first_mailer: # ... second_mailer: # ... .. code-block:: xml .. code-block:: php $container->loadFromExtension('swiftmailer', array( 'default_mailer' => 'second_mailer', 'mailers' => array( 'first_mailer' => array( // ... ), 'second_mailer' => array( // ... ), ), )); Each mailer is registered as a service:: // ... // returns the first mailer $container->get('swiftmailer.mailer.first_mailer'); // also returns the second mailer since it is the default mailer $container->get('swiftmailer.mailer'); // returns the second mailer $container->get('swiftmailer.mailer.second_mailer');