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%
+
+