@@ -514,6 +514,7 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
514
514
break ;
515
515
516
516
case 'swift_mailer ' :
517
+ $ mailer = $ handler ['mailer ' ] ?: 'mailer ' ;
517
518
if (isset ($ handler ['email_prototype ' ])) {
518
519
if (!empty ($ handler ['email_prototype ' ]['method ' ])) {
519
520
$ prototype = [new Reference ($ handler ['email_prototype ' ]['id ' ]), $ handler ['email_prototype ' ]['method ' ]];
@@ -525,7 +526,7 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
525
526
$ messageFactory ->setLazy (true );
526
527
$ messageFactory ->setPublic (false );
527
528
$ messageFactory ->setArguments ([
528
- new Reference ($ handler [ ' mailer ' ] ),
529
+ new Reference ($ mailer ),
529
530
$ handler ['from_email ' ],
530
531
$ handler ['to_email ' ],
531
532
$ handler ['subject ' ],
@@ -538,7 +539,7 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
538
539
$ prototype = [new Reference ($ messageFactoryId ), 'createMessage ' ];
539
540
}
540
541
$ definition ->setArguments ([
541
- new Reference ($ handler [ ' mailer ' ] ),
542
+ new Reference ($ mailer ),
542
543
$ prototype ,
543
544
$ handler ['level ' ],
544
545
$ handler ['bubble ' ],
@@ -562,6 +563,29 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
562
563
}
563
564
break ;
564
565
566
+ case 'symfony_mailer ' :
567
+ $ mailer = $ handler ['mailer ' ] ?: 'mailer.mailer ' ;
568
+ if (isset ($ handler ['email_prototype ' ])) {
569
+ if (!empty ($ handler ['email_prototype ' ]['method ' ])) {
570
+ $ prototype = [new Reference ($ handler ['email_prototype ' ]['id ' ]), $ handler ['email_prototype ' ]['method ' ]];
571
+ } else {
572
+ $ prototype = new Reference ($ handler ['email_prototype ' ]['id ' ]);
573
+ }
574
+ } else {
575
+ $ prototype = (new Definition ('Symfony\Component\Mime\Email ' ))
576
+ ->setPublic (false )
577
+ ->addMethodCall ('from ' , [$ handler ['from_email ' ]])
578
+ ->addMethodCall ('to ' , $ handler ['to_email ' ])
579
+ ->addMethodCall ('subject ' , [$ handler ['subject ' ]]);
580
+ }
581
+ $ definition ->setArguments ([
582
+ new Reference ($ mailer ),
583
+ $ prototype ,
584
+ $ handler ['level ' ],
585
+ $ handler ['bubble ' ],
586
+ ]);
587
+ break ;
588
+
565
589
case 'socket ' :
566
590
$ definition ->setArguments ([
567
591
$ handler ['connection_string ' ],
@@ -923,6 +947,7 @@ private function getHandlerClassByType($handlerType)
923
947
'debug ' => 'Symfony\Bridge\Monolog\Handler\DebugHandler ' ,
924
948
'swift_mailer ' => 'Symfony\Bridge\Monolog\Handler\SwiftMailerHandler ' ,
925
949
'native_mailer ' => 'Monolog\Handler\NativeMailerHandler ' ,
950
+ 'symfony_mailer ' => 'Symfony\Bridge\Monolog\Handler\MailerHandler ' ,
926
951
'socket ' => 'Monolog\Handler\SocketHandler ' ,
927
952
'pushover ' => 'Monolog\Handler\PushoverHandler ' ,
928
953
'raven ' => 'Monolog\Handler\RavenHandler ' ,
0 commit comments