@@ -514,6 +514,7 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
514514 break ;
515515
516516 case 'swift_mailer ' :
517+ $ mailer = $ handler ['mailer ' ] ?: 'mailer ' ;
517518 if (isset ($ handler ['email_prototype ' ])) {
518519 if (!empty ($ handler ['email_prototype ' ]['method ' ])) {
519520 $ prototype = [new Reference ($ handler ['email_prototype ' ]['id ' ]), $ handler ['email_prototype ' ]['method ' ]];
@@ -525,7 +526,7 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
525526 $ messageFactory ->setLazy (true );
526527 $ messageFactory ->setPublic (false );
527528 $ messageFactory ->setArguments ([
528- new Reference ($ handler [ ' mailer ' ] ),
529+ new Reference ($ mailer ),
529530 $ handler ['from_email ' ],
530531 $ handler ['to_email ' ],
531532 $ handler ['subject ' ],
@@ -538,7 +539,7 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
538539 $ prototype = [new Reference ($ messageFactoryId ), 'createMessage ' ];
539540 }
540541 $ definition ->setArguments ([
541- new Reference ($ handler [ ' mailer ' ] ),
542+ new Reference ($ mailer ),
542543 $ prototype ,
543544 $ handler ['level ' ],
544545 $ handler ['bubble ' ],
@@ -562,6 +563,29 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
562563 }
563564 break ;
564565
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+
565589 case 'socket ' :
566590 $ definition ->setArguments ([
567591 $ handler ['connection_string ' ],
@@ -923,6 +947,7 @@ private function getHandlerClassByType($handlerType)
923947 'debug ' => 'Symfony\Bridge\Monolog\Handler\DebugHandler ' ,
924948 'swift_mailer ' => 'Symfony\Bridge\Monolog\Handler\SwiftMailerHandler ' ,
925949 'native_mailer ' => 'Monolog\Handler\NativeMailerHandler ' ,
950+ 'symfony_mailer ' => 'Symfony\Bridge\Monolog\Handler\MailerHandler ' ,
926951 'socket ' => 'Monolog\Handler\SocketHandler ' ,
927952 'pushover ' => 'Monolog\Handler\PushoverHandler ' ,
928953 'raven ' => 'Monolog\Handler\RavenHandler ' ,
0 commit comments