Email FOSUser捆绑包手动触发确认电子邮件

Email FOSUser捆绑包手动触发确认电子邮件,email,symfony,registration,fosuserbundle,confirmation,Email,Symfony,Registration,Fosuserbundle,Confirmation,我使用FOSUser包作为我自己用户类的基类。通过Web服务,可以创建新用户 据我所知,它只会在用户通过注册表注册自己时触发 是否有办法手动触发控制器发送的确认电子邮件?似乎没有解决方案手动触发发送确认电子邮件。它仅与注册表一起触发。我最终做的是伪造一个表单并发送它,以触发负责发送电子邮件的事件侦听器 //use FOS\UserBundle\FOSUserEvents; //use FOS\UserBundle\Event\FormEvent; $formFactory = $this-&g

我使用FOSUser包作为我自己用户类的基类。通过Web服务,可以创建新用户

据我所知,它只会在用户通过注册表注册自己时触发


是否有办法手动触发控制器发送的确认电子邮件?

似乎没有解决方案手动触发发送确认电子邮件。它仅与注册表一起触发。我最终做的是伪造一个表单并发送它,以触发负责发送电子邮件的事件侦听器

//use FOS\UserBundle\FOSUserEvents;
//use FOS\UserBundle\Event\FormEvent;

$formFactory = $this->get('fos_user.registration.form.factory');
$form = $formFactory->createForm();
$form->setData($user); // created user object
$event = new FormEvent($form, $request); // request of the Controller
$dispatcher = $this->get('event_dispatcher');
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);

这不是一个干净的解决方案,但我能想出的唯一解决方案,因为FOSUserBundle似乎没有为它提供任何类型的API。

似乎没有手动触发发送确认电子邮件的解决方案。它仅与注册表一起触发。我最终做的是伪造一个表单并发送它,以触发负责发送电子邮件的事件侦听器

//use FOS\UserBundle\FOSUserEvents;
//use FOS\UserBundle\Event\FormEvent;

$formFactory = $this->get('fos_user.registration.form.factory');
$form = $formFactory->createForm();
$form->setData($user); // created user object
$event = new FormEvent($form, $request); // request of the Controller
$dispatcher = $this->get('event_dispatcher');
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);
这不是一个干净的解决方案,但却是我唯一能想到的解决方案,因为FOSUserBundle似乎没有为它提供任何类型的API。

这对我很有效

$mailer = $this->container->get('fos_user.mailer');
// Create token
$token = sha1(uniqid(mt_rand(), true)); // Or whatever you prefer to generate a token
$user->setConfirmationToken($token);
$mailer->sendConfirmationEmailMessage($user);
这对我有用

$mailer = $this->container->get('fos_user.mailer');
// Create token
$token = sha1(uniqid(mt_rand(), true)); // Or whatever you prefer to generate a token
$user->setConfirmationToken($token);
$mailer->sendConfirmationEmailMessage($user);

你试过什么或研究过文档/github吗?是的,但似乎没有触发。你试过什么或研究过文档/github吗?是的,但似乎没有触发。我正在尝试与FosUser 1.2.0类似的操作。知道怎么做吗?我正试图用FosUser 1.2.0做类似的事情。知道怎么做吗?