diff --git a/src/Symfony/Bundle/SwiftmailerBundle/DependencyInjection/Configuration.php b/src/Symfony/Bundle/SwiftmailerBundle/DependencyInjection/Configuration.php index 31f1c2dcca..1427ee60ed 100644 --- a/src/Symfony/Bundle/SwiftmailerBundle/DependencyInjection/Configuration.php +++ b/src/Symfony/Bundle/SwiftmailerBundle/DependencyInjection/Configuration.php @@ -80,6 +80,7 @@ class Configuration implements ConfigurationInterface ->scalarNode('path')->defaultValue('%kernel.cache_dir%/swiftmailer/spool')->end() ->end() ->end() + ->scalarNode('sender_address')->end() ->scalarNode('delivery_address')->end() ->booleanNode('disable_delivery')->end() ->booleanNode('logging')->defaultValue($this->debug)->end() diff --git a/src/Symfony/Bundle/SwiftmailerBundle/DependencyInjection/SwiftmailerExtension.php b/src/Symfony/Bundle/SwiftmailerBundle/DependencyInjection/SwiftmailerExtension.php index c7bb0592f8..6c023be66a 100644 --- a/src/Symfony/Bundle/SwiftmailerBundle/DependencyInjection/SwiftmailerExtension.php +++ b/src/Symfony/Bundle/SwiftmailerBundle/DependencyInjection/SwiftmailerExtension.php @@ -95,6 +95,13 @@ class SwiftmailerExtension extends Extension $container->findDefinition('swiftmailer.transport')->addMethodCall('registerPlugin', array(new Reference('swiftmailer.plugin.messagelogger'))); $container->findDefinition('swiftmailer.data_collector')->addTag('data_collector', array('template' => 'SwiftmailerBundle:Collector:swiftmailer', 'id' => 'swiftmailer')); } + + if (isset($config['sender_address']) && $config['sender_address']) { + $container->setParameter('swiftmailer.sender_address', $config['sender_address']); + $container->findDefinition('swiftmailer.transport')->addMethodCall('registerPlugin', array(new Reference('swiftmailer.plugin.impersonate'))); + } else { + $container->setParameter('swiftmailer.sender_address', null); + } if (isset($config['delivery_address']) && $config['delivery_address']) { $container->setParameter('swiftmailer.single_address', $config['delivery_address']); diff --git a/src/Symfony/Bundle/SwiftmailerBundle/Resources/config/swiftmailer.xml b/src/Symfony/Bundle/SwiftmailerBundle/Resources/config/swiftmailer.xml index 962638facf..38930e9d6b 100644 --- a/src/Symfony/Bundle/SwiftmailerBundle/Resources/config/swiftmailer.xml +++ b/src/Symfony/Bundle/SwiftmailerBundle/Resources/config/swiftmailer.xml @@ -14,6 +14,7 @@ Swift_Plugins_RedirectingPlugin Swift_Plugins_BlackholePlugin + Swift_Plugins_ImpersonatePlugin Symfony\Bundle\SwiftmailerBundle\Logger\MessageLogger Symfony\Bundle\SwiftmailerBundle\DataCollector\MessageDataCollector @@ -63,6 +64,10 @@ + + %swiftmailer.sender_address% + +