Skip to content
This repository was archived by the owner on Feb 6, 2022. It is now read-only.

Allow specifying delivery whitelists for the redirect plugin #19

Merged
merged 5 commits into from
Aug 29, 2012
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions DependencyInjection/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,13 @@ public function getConfigTreeBuilder()
->end()
->end()
->scalarNode('delivery_address')->end()
->end()
->fixXmlConfig('delivery_whitelist_pattern', 'delivery_whitelist')
->children()
->arrayNode('delivery_whitelist')
->prototype('scalar')
->end()
->end()
->booleanNode('disable_delivery')->end()
->booleanNode('logging')->defaultValue($this->debug)->end()
->end()
Expand Down
1 change: 1 addition & 0 deletions DependencyInjection/SwiftmailerExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ public function load(array $configs, ContainerBuilder $container)
} else {
$container->setParameter('swiftmailer.single_address', null);
}
$container->setParameter('swiftmailer.delivery_whitelist', $config['delivery_whitelist']);
}

/**
Expand Down
7 changes: 4 additions & 3 deletions Resources/config/schema/swiftmailer-1.0.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@
<xsd:element name="config" type="config" />

<xsd:complexType name="config">
<xsd:all>
<xsd:element name="spool" type="spool" minOccurs="0" maxOccurs="1" />
<xsd:sequence>
<xsd:element name="antiflood" type="antiflood" minOccurs="0" maxOccurs="1" />
</xsd:all>
<xsd:element name="spool" type="spool" minOccurs="0" maxOccurs="1" />
<xsd:element name="delivery-whitelist-pattern" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>

<xsd:attribute name="username" type="xsd:string" />
<xsd:attribute name="password" type="xsd:string" />
Expand Down
1 change: 1 addition & 0 deletions Resources/config/swiftmailer.xml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@

<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">
Expand Down
4 changes: 4 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/php/antiflood.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?php
$container->loadFromExtension('swiftmailer', array(
'antiflood' => true
));
2 changes: 2 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/php/empty.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?php
$container->loadFromExtension('swiftmailer', array());
16 changes: 16 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/php/full.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php
$container->loadFromExtension('swiftmailer', array(
'transport' => "smtp",
'username' =>"user",
'password' => "pass",
'host' => "example.org",
'port' => "12345",
'encryption' => "tls",
'auth-mode' => "login",
'timeout' => "1000",
'source_ip' => "127.0.0.1",
'logging' => true,
'spool' => array('type' => 'memory'),
'delivery_address' => 'single@host.com',
'delivery_whitelist' => array('/foo@.*/', '/.*@bar.com$/'),
));
4 changes: 4 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/php/null.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?php
$container->loadFromExtension('swiftmailer', array(
'transport' => null
));
5 changes: 5 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/php/redirect.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php
$container->loadFromExtension('swiftmailer', array(
'delivery_address' => 'single@host.com',
'delivery_whitelist' => array('/foo@.*/', '/.*@bar.com$/'),
));
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php
$container->loadFromExtension('swiftmailer', array(
'delivery_address' => 'single@host.com',
'delivery_whitelist' => array('/foo@.*/'),
));
13 changes: 13 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/php/smtp.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php
$container->loadFromExtension('swiftmailer', array(
'transport' => "smtp",
'username' =>"user",
'password' => "pass",
'host' => "example.org",
'port' => "12345",
'encryption' => "tls",
'auth-mode' => "login",
'timeout' => "1000",
'source_ip' => "127.0.0.1",
'logging' => true,
));
4 changes: 4 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/php/spool.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?php
$container->loadFromExtension('swiftmailer', array(
'spool' => true
));
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?php
$container->loadFromExtension('swiftmailer', array(
'spool' => array('type' => 'memory')
));
11 changes: 11 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/xml/antiflood.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:swiftmailer="http://symfony.com/schema/dic/swiftmailer"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/swiftmailer http://symfony.com/schema/dic/swiftmailer/swiftmailer-1.0.xsd">

<swiftmailer:config>
<swiftmailer:antiflood/>
</swiftmailer:config>
</container>
9 changes: 9 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/xml/empty.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:swiftmailer="http://symfony.com/schema/dic/swiftmailer"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/swiftmailer http://symfony.com/schema/dic/swiftmailer/swiftmailer-1.0.xsd">

<swiftmailer:config/>
</container>
25 changes: 25 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/xml/full.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:swiftmailer="http://symfony.com/schema/dic/swiftmailer"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/swiftmailer http://symfony.com/schema/dic/swiftmailer/swiftmailer-1.0.xsd">

<swiftmailer:config
transport="smtp"
username="user"
password="pass"
host="example.org"
port="12345"
encryption="tls"
auth-mode="login"
timeout="1000"
source-ip="127.0.0.1"
logging="true"
delivery-address="single@host.com">
<swiftmailer:antiflood/>
<swiftmailer:spool type="memory"/>
<swiftmailer:delivery-whitelist-pattern>/foo@.*/</swiftmailer:delivery-whitelist-pattern>
<swiftmailer:delivery-whitelist-pattern>/.*@bar.com$/</swiftmailer:delivery-whitelist-pattern>
</swiftmailer:config>
</container>
9 changes: 9 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/xml/null.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:swiftmailer="http://symfony.com/schema/dic/swiftmailer"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/swiftmailer http://symfony.com/schema/dic/swiftmailer/swiftmailer-1.0.xsd">

<swiftmailer:config transport="null"/>
</container>
12 changes: 12 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/xml/redirect.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:swiftmailer="http://symfony.com/schema/dic/swiftmailer"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/swiftmailer http://symfony.com/schema/dic/swiftmailer/swiftmailer-1.0.xsd">

<swiftmailer:config delivery-address="single@host.com">
<swiftmailer:delivery-whitelist-pattern>/foo@.*/</swiftmailer:delivery-whitelist-pattern>
<swiftmailer:delivery-whitelist-pattern>/.*@bar.com$/</swiftmailer:delivery-whitelist-pattern>
</swiftmailer:config>
</container>
11 changes: 11 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/xml/redirect_single.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:swiftmailer="http://symfony.com/schema/dic/swiftmailer"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/swiftmailer http://symfony.com/schema/dic/swiftmailer/swiftmailer-1.0.xsd">

<swiftmailer:config delivery-address="single@host.com">
<swiftmailer:delivery-whitelist-pattern>/foo@.*/</swiftmailer:delivery-whitelist-pattern>
</swiftmailer:config>
</container>
20 changes: 20 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/xml/smtp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:swiftmailer="http://symfony.com/schema/dic/swiftmailer"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/swiftmailer http://symfony.com/schema/dic/swiftmailer/swiftmailer-1.0.xsd">


<swiftmailer:config
transport="smtp"
username="user"
password="pass"
host="example.org"
port="12345"
encryption="tls"
auth-mode="login"
timeout="1000"
source-ip="127.0.0.1"
logging="true"/>
</container>
11 changes: 11 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/xml/spool.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:swiftmailer="http://symfony.com/schema/dic/swiftmailer"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/swiftmailer http://symfony.com/schema/dic/swiftmailer/swiftmailer-1.0.xsd">

<swiftmailer:config>
<swiftmailer:spool/>
</swiftmailer:config>
</container>
11 changes: 11 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/xml/spool_memory.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:swiftmailer="http://symfony.com/schema/dic/swiftmailer"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/swiftmailer http://symfony.com/schema/dic/swiftmailer/swiftmailer-1.0.xsd">

<swiftmailer:config>
<swiftmailer:spool type="memory"/>
</swiftmailer:config>
</container>
2 changes: 2 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/yml/antiflood.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
swiftmailer:
antiflood: true
1 change: 1 addition & 0 deletions Tests/DependencyInjection/Fixtures/config/yml/empty.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
swiftmailer:
17 changes: 17 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/yml/full.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
swiftmailer:
transport: smtp
username: user
password: pass
host: example.org
port: 12345
encryption: tls
auth-mode: login
timeout: 1000
source_ip: 127.0.0.1
logging: true
spool:
type: memory
delivery_address: single@host.com
delivery_whitelist:
- /foo@.*/
- /.*@bar.com$/
2 changes: 2 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/yml/null.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
swiftmailer:
transport: ~
5 changes: 5 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/yml/redirect.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
swiftmailer:
delivery_address: single@host.com
delivery_whitelist:
- /foo@.*/
- /.*@bar.com$/
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
swiftmailer:
delivery_address: single@host.com
delivery_whitelist:
- /foo@.*/
11 changes: 11 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/yml/smtp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
swiftmailer:
transport: smtp
username: user
password: pass
host: example.org
port: 12345
encryption: tls
auth-mode: login
timeout: 1000
source_ip: 127.0.0.1
logging: true
2 changes: 2 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/yml/spool.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
swiftmailer:
spool: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
swiftmailer:
spool:
type: memory
Loading