Swiftmailler отправляет один и тот же адрес электронной почты дважды - PullRequest
1 голос
/ 14 октября 2019

У меня проблема, когда я хочу отправить электронное письмо после регистрации, я действительно отправляю электронное письмо, но дважды отправляю его и не знаю, почему, это мой код, я создал службу, которая отправляет почту.

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 электронных письма

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...