|
89 | 89 | use Symfony\Component\Messenger\MessageBusInterface; |
90 | 90 | use Symfony\Component\Messenger\Transport\TransportFactoryInterface; |
91 | 91 | use Symfony\Component\Messenger\Transport\TransportInterface; |
| 92 | +use Symfony\Component\Mime\Header\Headers; |
92 | 93 | use Symfony\Component\Mime\MimeTypeGuesserInterface; |
93 | 94 | use Symfony\Component\Mime\MimeTypes; |
94 | 95 | use Symfony\Component\Notifier\Bridge\Firebase\FirebaseTransportFactory; |
@@ -1986,12 +1987,24 @@ private function registerMailerConfiguration(array $config, ContainerBuilder $co |
1986 | 1987 | } |
1987 | 1988 | } |
1988 | 1989 |
|
1989 | | - $recipients = $config['envelope']['recipients'] ?? null; |
1990 | | - $sender = $config['envelope']['sender'] ?? null; |
1991 | | - |
1992 | 1990 | $envelopeListener = $container->getDefinition('mailer.envelope_listener'); |
1993 | | - $envelopeListener->setArgument(0, $sender); |
1994 | | - $envelopeListener->setArgument(1, $recipients); |
| 1991 | + $envelopeListener->setArgument(0, $config['envelope']['sender'] ?? null); |
| 1992 | + $envelopeListener->setArgument(1, $config['envelope']['recipients'] ?? null); |
| 1993 | + |
| 1994 | + if ($config['headers']) { |
| 1995 | + $headers = new Definition(Headers::class); |
| 1996 | + foreach ($config['headers'] as $name => $data) { |
| 1997 | + $value = $data['value']; |
| 1998 | + if (\in_array(strtolower($name), ['from', 'to', 'cc', 'bcc', 'reply-to'])) { |
| 1999 | + $value = (array) $value; |
| 2000 | + } |
| 2001 | + $headers->addMethodCall('addHeader', [$name, $value]); |
| 2002 | + } |
| 2003 | + $messageListener = $container->getDefinition('mailer.message_listener'); |
| 2004 | + $messageListener->setArgument(0, $headers); |
| 2005 | + } else { |
| 2006 | + $container->removeDefinition('mailer.message_listener'); |
| 2007 | + } |
1995 | 2008 | } |
1996 | 2009 |
|
1997 | 2010 | private function registerNotifierConfiguration(array $config, ContainerBuilder $container, XmlFileLoader $loader) |
|
0 commit comments