symfony - Send email containing login and pass after registration -


i working on symfony2 project managing user installed bundle fosuserbundle functional can not find how send email containing username , password after creating user, said have 2 user: admin , user type, , admin create users form of creation form of fos registration, changing between 2 kind user roles.

you hook eventdispatcher , send own email rather than 1 generated fosuserbundle using own listener.

class emailconfirmationlistener implements eventsubscriberinterface {     private $mailer;     private $router;     private $session;      public function __construct(mailerinterface $mailer,             urlgeneratorinterface $router)     {         $this->mailer = $mailer;         $this->router = $router;     }      public static function getsubscribedevents()     {         return array(             fosuserevents::registration_success => array(                 array('onregistrationsuccess',  -10),             ),         );     }      public function onregistrationsuccess(formevent $event)     {         /** @var $user \fos\userbundle\model\userinterface */         $user = $event->getform()->getdata();          // send details out user         $this->mailer->sendcreateduseremail($user);          // route show admin user has been created         $url = $this->router->generate('blah_blah_user_created');         $event->setresponse(new redirectresponse($url));          // stop later events propagting         $event->stoppropagation();     } } 

mailer service

use fos\userbundle\model\userinterface; use fos\userbundle\mailer\mailer basemailer;  class mailer extends basemailer {     /**      * @param userinterface $user      */     public function sendadminconfirmationemailmessage(userinterface $user)     {         /**          * custom template using same positioning          * fosuserbundle:registration:email.txt.twig sendemailmessage          * method break correctly          */         $template = 'blahblahuser:admin:created_user_email.txt.twig';         $url = $this->router->generate('** custom login path**', array(), true);         $rendered = $this->templating->render($template, array(             'user' => $user,             'password' => $user->getplainpassword(),         ));         $this->sendemailmessage($rendered,             $this->parameters['from_email']['confirmation'], $user->getemail());     } } 

i think it.. although wrong.


Comments