У меня проблема, когда я хочу отправить электронное письмо после регистрации, я действительно отправляю электронное письмо, но дважды отправляю его и не знаю, почему, это мой код, я создал службу, которая отправляет почту.
my mailerHandler:
> public function emailUserPassword(UserInterface $user) {
> $message = (new \Swift_Message('********'))
> ->setContentType('text/html')
> ->setFrom('********')
> ->setTo($user->getEmail())
> ->setBody($this->twig->render('Mail/password.html.twig', array(
> 'user' => $user,
> )));
> $this->swiftmailler->send($message); }
мой контроллер:
if (isset($lastName, $firstName, $email, $roles, $stations)) {
$user = new User();
try {
$user->setFirstName($firstName);
$user->setLastName($lastName);
$user->setEmail($email);
$user->setPassword($passwordEncoder->encodePassword($user, $passWordGenerator));
$user->setRoles($roles);
$user->setStations($stations->getValues());
$entityManager->persist($user);
$entityManager->flush();
$event = new UserEvent($user);
$this->eventDispatcher->dispatch(SecurityEvents::REGISTRATION_SUCCESS, $event);
} catch (UniqueConstraintViolationException $e) {
$dataError = [
'status' => 'errorException',
'message' => 'existe'
];
return new JsonResponse($dataError, 500
);
}
$dataValid = [
'type' => 'Validation',
'valid' => 'L\'utilisateur ' . $user->getFullName() . ' a été créé.'
];
return new JsonResponse($dataValid, 201);
и мое событие:
public function __construct(MailerHandler $mailerHandler
) {
$this->mailerHandler = $mailerHandler;
}
public static function getSubscribedEvents()
{
return [SecurityEvents::REGISTRATION_SUCCESS => 'onRegistrationSuccess'];
}
/**
* @param UserEvent $event
*/
public function onRegistrationSuccess(UserEvent $event) {
$user = $event->getUser();
$this->mailerHandler->emailUserPassword($user);
}
Я не понимаю, почему я отправляю 2 электронных письма