Skip to content

Commit

Permalink
minor #53222 [Mailer][Notifier] Simplify transport service registrati…
Browse files Browse the repository at this point in the history
…on + 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
  • Loading branch information
fabpot committed Dec 28, 2023
2 parents 6d68a8b + 7c37f92 commit 367be4b
Show file tree
Hide file tree
Showing 4 changed files with 129 additions and 358 deletions.
Expand Up @@ -39,73 +39,32 @@
service('http_client')->ignoreOnInvalid(),
service('logger')->ignoreOnInvalid(),
])
->tag('monolog.logger', ['channel' => 'mailer'])

->set('mailer.transport_factory.amazon', SesTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.azure', AzureTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.brevo', BrevoTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.gmail', GmailTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.infobip', InfobipTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.mailersend', MailerSendTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.mailchimp', MandrillTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.mailjet', MailjetTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.mailgun', MailgunTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.mailpace', MailPaceTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.postmark', PostmarkTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.sendgrid', SendgridTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.null', NullTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.scaleway', ScalewayTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.sendmail', SendmailTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory')

->set('mailer.transport_factory.smtp', EsmtpTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory', ['priority' => -100])

->set('mailer.transport_factory.native', NativeTransportFactory::class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory');
->tag('monolog.logger', ['channel' => 'mailer']);

$factories = [
'amazon' => SesTransportFactory::class,
'azure' => AzureTransportFactory::class,
'brevo' => BrevoTransportFactory::class,
'gmail' => GmailTransportFactory::class,
'infobip' => InfobipTransportFactory::class,
'mailchimp' => MandrillTransportFactory::class,
'mailersend' => MailerSendTransportFactory::class,
'mailgun' => MailgunTransportFactory::class,
'mailjet' => MailjetTransportFactory::class,
'mailpace' => MailPaceTransportFactory::class,
'native' => NativeTransportFactory::class,
'null' => NullTransportFactory::class,
'postmark' => PostmarkTransportFactory::class,
'scaleway' => ScalewayTransportFactory::class,
'sendgrid' => SendgridTransportFactory::class,
'sendmail' => SendmailTransportFactory::class,
'smtp' => EsmtpTransportFactory::class,
];

foreach ($factories as $name => $class) {
$container->services()
->set('mailer.transport_factory.'.$name, $class)
->parent('mailer.transport_factory.abstract')
->tag('mailer.transport_factory');
}
};

0 comments on commit 367be4b

Please sign in to comment.