[Mailer] added XML configuration for the mailer envelope

This commit is contained in:
Fabien Potencier 2019-07-16 08:28:50 +02:00
parent 52e9fb91ff
commit 2e03f9dfa5
5 changed files with 30 additions and 1 deletions

View File

@ -555,6 +555,16 @@
</xsd:complexType>
<xsd:complexType name="mailer">
<xsd:sequence>
<xsd:element name="envelope" type="mailer_envelope" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
<xsd:attribute name="dsn" type="xsd:string" />
</xsd:complexType>
<xsd:complexType name="mailer_envelope">
<xsd:sequence>
<xsd:element name="sender" type="xsd:string" />
<xsd:element name="recipients" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

View File

@ -3,5 +3,9 @@
$container->loadFromExtension('framework', [
'mailer' => [
'dsn' => 'smtp://example.com',
'envelope' => [
'sender' => 'sender@example.org',
'recipients' => ['redirected@example.org', 'redirected1@example.org'],
],
],
]);

View File

@ -7,6 +7,12 @@
http://symfony.com/schema/dic/symfony https://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
<framework:config>
<framework:mailer dsn="smtp://example.com" />
<framework:mailer dsn="smtp://example.com">
<framework:envelope>
<framework:sender>sender@example.org</framework:sender>
<framework:recipients>redirected@example.org</framework:recipients>
<framework:recipients>redirected1@example.org</framework:recipients>
</framework:envelope>
</framework:mailer>
</framework:config>
</container>

View File

@ -1,3 +1,8 @@
framework:
mailer:
dsn: 'smtp://example.com'
envelope:
sender: sender@example.org
recipients:
- redirected@example.org
- redirected1@example.org

View File

@ -1588,6 +1588,10 @@ abstract class FrameworkExtensionTest extends TestCase
$this->assertTrue($container->hasAlias('mailer'));
$this->assertTrue($container->hasDefinition('mailer.default_transport'));
$this->assertSame('smtp://example.com', $container->getDefinition('mailer.default_transport')->getArgument(0));
$this->assertTrue($container->hasDefinition('mailer.envelope_listener'));
$l = $container->getDefinition('mailer.envelope_listener');
$this->assertSame('sender@example.org', $l->getArgument(0));
$this->assertSame(['redirected@example.org', 'redirected1@example.org'], $l->getArgument(1));
}
protected function createContainer(array $data = [])