示例#1
0
 /**
  * Отправка почты
  *
  * @param App $app
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\Response|static
  */
 public function sendAction(App $app, Request $request)
 {
     $form = array('message' => (string) $request->request->get('message'));
     $constraint = new Assert\Collection(array('message' => array(new Assert\NotBlank(), new Assert\Length(array('min' => 3, 'max' => 1000)))));
     $errors = $app['validator']->validateValue($form, $constraint);
     $messages = array();
     if (count($errors) > 0) {
         foreach ($errors as $error) {
             $messages[] = $error->getMessage();
         }
         return JsonResponse::create(array('code' => 1, 'text' => implode(',', $messages)));
     }
     $message = \Swift_Message::newInstance()->setSubject('Сообщение с сайта')->setFrom(array('*****@*****.**'))->setTo(array('*****@*****.**'))->setBody($app->renderView('blocks/email.twig', array('message' => $form['message'])))->setContentType('text/html');
     /** @noinspection PhpParamsInspection */
     $app->mail($message);
     return JsonResponse::create(array('code' => 1, 'text' => 'Письмо успешно отправлено!'));
 }