[FOSUserBundle] Mailer Interface
	
	
		Bonjour,
J'ai un souci pour surcharger le MailerInterface de FOSUserBundle
Voici ce que j'ai fait.
1- J'ai créer un fichier dans mon bundle qui hérite de FOS dans le repertore /Mailer (qui se nomme EmailListener.php).
2- La classe EmailListener hérite de l'interface MailerInterface qui se trouve dans me repertoire /Mailer
3- J'ai appeler mon service de messagerie dans le fichier de config.
4- J'ai indiqué a FOS d'utiliser mon systeme de messagerie
voici les contenus :
[EmailListener]
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 
 |  
<?php
namespace MONBundle\Live\WlUserBundle\Listener;
 
use Symfony\Component\Templating\EngineInterface;
use Symfony\Component\DependencyInjection\Container;
use MONBundle\WlUserBundle\Mailer\MailerInterface;
use FOS\UserBundle\Model\UserInterface;
 
class EmailListener implements MailerInterface
{
    protected $mailer;
    protected $templating;
    protected $container;
    private $from = "no-reply@domaine.fr";
    private $reply = "contact@domaine.fr";
    private $name = "Equipe";
 
    public function __construct($mailer, EngineInterface $templating, Container $container)
    {
       $this->mailer = $mailer;
       $this->templating = $templating;
       $this->container = $container;
    }
 
    protected function sendMessage($to, $subject, $body)
    {
        $mail = \Swift_Message::newInstance();
 
        $mail   ->setFrom($this->from,$this->name)
                ->setTo("deyfabien@free.fr")
                ->setSubject($subject)
                ->setBody($body)
                ->setReplyTo($this->reply,$this->name)
                ->setContentType('text/html');
 
        $this->mailer->send($mail);
    }
 
    public function sendRefusMessage(){
        die('ici_refus');
    }
 
    public function sendContactFormMessage($infos){
        die('ici contact');
    }
 
    public function sendConfirmationEmailMessage(UserInterface $user
{           
        die('ici mail');
    }
 
    protected function sendWithDefaultValue(){
        $this->from = $this->container->getParameter('emailFrom');
        $this->name = $this->container->getParameter('emailFromName');
        $this->reply = $this->container->getParameter('emailReplyTo');
    }
 
    public function sendResettingEmailMessage(UserInterface $user){
 
    }
}
 
?> | 
 MailerInterface
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 
 |  
namespace MONBundle\WlUserBundle\Mailer;
 
use FOS\UserBundle\Model\UserInterface;
use FOS\UserBundle\Mailer\MailerInterface as ExtendMailInterface;
 
/**
 * 
 */
interface MailerInterface extends ExtendMailInterface
{
    /**
     * Send an email to a user to confirm the account creation
     *
     * @param UserInterface $user
     */
    function sendConfirmationEmailMessage(UserInterface $user);
 
    /**
     * Send an email to a user to confirm the password reset
     *
     * @param UserInterface $user
     */
    function sendResettingEmailMessage(UserInterface $user);
 
    public function sendRefusMessage();
 
    public function sendContactFormMessage($infos);
} | 
 Fichier de Config
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 |  
fos_user:
    db_driver:     orm                        # Le type de BDD à utiliser, nous utilisons l'ORM Doctrine depuis le début
    firewall_name: main                       # Le nom du firewall duquel on utilisera ces utilisateurs
    user_class:    MONBUNDLE\WlUserBundle\Entity\Customer # La classe de l'entité User que nous venons de définir
    registration:
        form:
            type: wlbundle_customertype
            handler: wluserbundle.form.handler.registration
        confirmation:
            enabled:    false
    service:
        mailer: keep.mailer
 
#DANS SERVICE
services:
   keep.mailer:
       class: MONBundle\WlUserBundle\Listener\EmailListener
       arguments: [@mailer, @templating, @service_container] | 
 Et malgrés tout ça...j'ai l'impression qu'il ne rentre jamais dans ma surchage :(
Est ce que quelqu'un aurait une idée ? ou pourrait m'aider un peu svp ?
Merci d'avance
Decad7