[SwiftmailerBundle] Added support for AntiFloodPlugin
This commit is contained in:
parent
923c234160
commit
499282f278
@ -80,6 +80,13 @@ class Configuration implements ConfigurationInterface
|
||||
->scalarNode('path')->defaultValue('%kernel.cache_dir%/swiftmailer/spool')->end()
|
||||
->end()
|
||||
->end()
|
||||
->arrayNode('antiflood')
|
||||
->defaultNull()
|
||||
->children()
|
||||
->scalarNode('treshold')->defaultValue(99)->end()
|
||||
->scalarNode('sleep')->defaultValue(0)->end()
|
||||
->end()
|
||||
->end()
|
||||
->scalarNode('delivery_address')->end()
|
||||
->booleanNode('disable_delivery')->end()
|
||||
->booleanNode('logging')->defaultValue($this->debug)->end()
|
||||
|
@ -91,6 +91,19 @@ class SwiftmailerExtension extends Extension
|
||||
}
|
||||
$container->setParameter('swiftmailer.spool.enabled', isset($config['spool']));
|
||||
|
||||
// antiflood?
|
||||
if (isset($config['antiflood'])) {
|
||||
foreach (array('treshold', 'sleep') as $key) {
|
||||
$container->setParameter('swiftmailer.antiflood.'.$key, $config['antiflood'][$key]);
|
||||
}
|
||||
|
||||
$container->findDefinition('swiftmailer.transport')->addMethodCall('registerPlugin', array(new Reference('swiftmailer.plugin.antiflood')));
|
||||
} else {
|
||||
foreach (array('treshold', 'sleep') as $key) {
|
||||
$container->setParameter('swiftmailer.antiflood.'.$key, null);
|
||||
}
|
||||
}
|
||||
|
||||
if ($config['logging']) {
|
||||
$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'));
|
||||
|
@ -15,6 +15,8 @@
|
||||
<parameter key="swiftmailer.plugin.redirecting.class">Swift_Plugins_RedirectingPlugin</parameter>
|
||||
<parameter key="swiftmailer.plugin.blackhole.class">Swift_Plugins_BlackholePlugin</parameter>
|
||||
<parameter key="swiftmailer.plugin.messagelogger.class">Symfony\Bundle\SwiftmailerBundle\Logger\MessageLogger</parameter>
|
||||
<parameter key="swiftmailer.plugin.antiflood.class">Swift_Plugins_AntiFloodPlugin</parameter>
|
||||
|
||||
<parameter key="swiftmailer.data_collector.class">Symfony\Bundle\SwiftmailerBundle\DataCollector\MessageDataCollector</parameter>
|
||||
</parameters>
|
||||
|
||||
@ -62,6 +64,11 @@
|
||||
</service>
|
||||
|
||||
<service id="swiftmailer.plugin.blackhole" class="%swiftmailer.plugin.blackhole.class%" public="false" />
|
||||
|
||||
<service id="swiftmailer.plugin.antiflood" class="%swiftmailer.plugin.antiflood.class%" public="false">
|
||||
<argument>%swiftmailer.antiflood.treshold%</argument>
|
||||
<argument>%swiftmailer.antiflood.sleep%</argument>
|
||||
</service>
|
||||
|
||||
<service id="swiftmailer.plugin.messagelogger" class="%swiftmailer.plugin.messagelogger.class%" />
|
||||
|
||||
|
Reference in New Issue
Block a user