Skip to content

Commit 367be4b

Browse files
committed
minor #53222 [Mailer][Notifier] Simplify transport service registration + sorting (OskarStark)
This PR was squashed before being merged into the 7.1 branch. Discussion ---------- [Mailer][Notifier] Simplify transport service registration + sorting | Q | A | ------------- | --- | Branch? | 7.1 | Bug fix? | no | New feature? | no | Deprecations? | no | Issues | - | License | MIT Commits ------- 7c37f92 [Mailer][Notifier] Simplify transport service registration + sorting
2 parents 6d68a8b + 7c37f92 commit 367be4b

File tree

4 files changed

+129
-358
lines changed

4 files changed

+129
-358
lines changed

src/Symfony/Bundle/FrameworkBundle/Resources/config/mailer_transports.php

Lines changed: 28 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -39,73 +39,32 @@
3939
service('http_client')->ignoreOnInvalid(),
4040
service('logger')->ignoreOnInvalid(),
4141
])
42-
->tag('monolog.logger', ['channel' => 'mailer'])
43-
44-
->set('mailer.transport_factory.amazon', SesTransportFactory::class)
45-
->parent('mailer.transport_factory.abstract')
46-
->tag('mailer.transport_factory')
47-
48-
->set('mailer.transport_factory.azure', AzureTransportFactory::class)
49-
->parent('mailer.transport_factory.abstract')
50-
->tag('mailer.transport_factory')
51-
52-
->set('mailer.transport_factory.brevo', BrevoTransportFactory::class)
53-
->parent('mailer.transport_factory.abstract')
54-
->tag('mailer.transport_factory')
55-
56-
->set('mailer.transport_factory.gmail', GmailTransportFactory::class)
57-
->parent('mailer.transport_factory.abstract')
58-
->tag('mailer.transport_factory')
59-
60-
->set('mailer.transport_factory.infobip', InfobipTransportFactory::class)
61-
->parent('mailer.transport_factory.abstract')
62-
->tag('mailer.transport_factory')
63-
64-
->set('mailer.transport_factory.mailersend', MailerSendTransportFactory::class)
65-
->parent('mailer.transport_factory.abstract')
66-
->tag('mailer.transport_factory')
67-
68-
->set('mailer.transport_factory.mailchimp', MandrillTransportFactory::class)
69-
->parent('mailer.transport_factory.abstract')
70-
->tag('mailer.transport_factory')
71-
72-
->set('mailer.transport_factory.mailjet', MailjetTransportFactory::class)
73-
->parent('mailer.transport_factory.abstract')
74-
->tag('mailer.transport_factory')
75-
76-
->set('mailer.transport_factory.mailgun', MailgunTransportFactory::class)
77-
->parent('mailer.transport_factory.abstract')
78-
->tag('mailer.transport_factory')
79-
80-
->set('mailer.transport_factory.mailpace', MailPaceTransportFactory::class)
81-
->parent('mailer.transport_factory.abstract')
82-
->tag('mailer.transport_factory')
83-
84-
->set('mailer.transport_factory.postmark', PostmarkTransportFactory::class)
85-
->parent('mailer.transport_factory.abstract')
86-
->tag('mailer.transport_factory')
87-
88-
->set('mailer.transport_factory.sendgrid', SendgridTransportFactory::class)
89-
->parent('mailer.transport_factory.abstract')
90-
->tag('mailer.transport_factory')
91-
92-
->set('mailer.transport_factory.null', NullTransportFactory::class)
93-
->parent('mailer.transport_factory.abstract')
94-
->tag('mailer.transport_factory')
95-
96-
->set('mailer.transport_factory.scaleway', ScalewayTransportFactory::class)
97-
->parent('mailer.transport_factory.abstract')
98-
->tag('mailer.transport_factory')
99-
100-
->set('mailer.transport_factory.sendmail', SendmailTransportFactory::class)
101-
->parent('mailer.transport_factory.abstract')
102-
->tag('mailer.transport_factory')
103-
104-
->set('mailer.transport_factory.smtp', EsmtpTransportFactory::class)
105-
->parent('mailer.transport_factory.abstract')
106-
->tag('mailer.transport_factory', ['priority' => -100])
107-
108-
->set('mailer.transport_factory.native', NativeTransportFactory::class)
109-
->parent('mailer.transport_factory.abstract')
110-
->tag('mailer.transport_factory');
42+
->tag('monolog.logger', ['channel' => 'mailer']);
43+
44+
$factories = [
45+
'amazon' => SesTransportFactory::class,
46+
'azure' => AzureTransportFactory::class,
47+
'brevo' => BrevoTransportFactory::class,
48+
'gmail' => GmailTransportFactory::class,
49+
'infobip' => InfobipTransportFactory::class,
50+
'mailchimp' => MandrillTransportFactory::class,
51+
'mailersend' => MailerSendTransportFactory::class,
52+
'mailgun' => MailgunTransportFactory::class,
53+
'mailjet' => MailjetTransportFactory::class,
54+
'mailpace' => MailPaceTransportFactory::class,
55+
'native' => NativeTransportFactory::class,
56+
'null' => NullTransportFactory::class,
57+
'postmark' => PostmarkTransportFactory::class,
58+
'scaleway' => ScalewayTransportFactory::class,
59+
'sendgrid' => SendgridTransportFactory::class,
60+
'sendmail' => SendmailTransportFactory::class,
61+
'smtp' => EsmtpTransportFactory::class,
62+
];
63+
64+
foreach ($factories as $name => $class) {
65+
$container->services()
66+
->set('mailer.transport_factory.'.$name, $class)
67+
->parent('mailer.transport_factory.abstract')
68+
->tag('mailer.transport_factory');
69+
}
11170
};

0 commit comments

Comments
 (0)