저는 관리자 전용 양식이 있습니다. 관리자는 기본 비밀번호가 1234 인 사용자를 추가 할 수 있습니다. 작성한 후에 추가 된 사용자에게 이메일을 보내고 싶습니다. 신속한 메일러 부분을 제외하고 컨트롤러에서 모든 것이 잘 작동합니다. 양식을 보낸 후 디버그 표시 줄에 보낸 전자 메일이 표시되지 않습니다. if 문에서 해당 부분을 제외하면 제대로 작동하고 디버그 막대에서 전자 메일을 볼 수 있습니다. 그러나 if 문에있는 다른 모든 부분은 정상적으로 작동합니다.빠른 우편물은 이메일을 보내지 않을 것입니다
내 방법입니다.
/**
* @Route("/add-user", name="adduser")
*/
public function addUserAction(Request $request){
$user = new User();
$addform = $this->createForm(NewUserType::class,$user);
$addform->handleRequest($request);
if ($addform->isSubmitted() && $addform->isValid()) {
$user->setRoles(array('ROLE_USER'));
$password = $this->get('security.password_encoder')
->encodePassword($user, $user->getPlainPassword());
$user->setPassword($password);
$cellphone = $addform->get('cellphone')->getData();
$ccode = $addform->get('ccode')->getData();
$cellphone = preg_replace("/[^0-9A-Za-z]/", "", $cellphone);
$user->setCcode($ccode);
$user->setCellphone($cellphone);
$user->setPlainPassword(1234);
$user->setPassword(md5(1234));
$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();
$this->addFlash(
'addeduser',
'You successfully added a user to the database'
);
$emailMessage = \Swift_Message::newInstance()
->setSubject('You have successfully signed up')
->setFrom('[email protected]')
->setTo($user->getUsername())
->setBody($this->renderView(':emails:addeduser.html.twig'));
$this->get('mailer')->send($emailMessage);
return $this->redirect($this->generateUrl('adduser'));
}
else{
$this->addFlash(
'addusererror',
'Oops! There was an error!'
);
}
return $this->render(':user:adduser.html.twig', array('addform'=>$addform->createView()));
}
** 어떻게 되나요 **? –
'정확히'발생합니다. 오류가 있습니까? –
죄송합니다. 나는 또한 질문을 편집했다. 문제는 if 형식의 swiftmailer가 폼을 제출할 때 아무 일도 일어나지 않는다는 것입니다. 디버그 막대에 아무 것도 표시되지 않습니다. 그러나 if 문에서 swiftmailer를 제거하면 디버그 막대에 이메일이 표시됩니다. – mburakergenc