/** * Отправка почты * * @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' => 'Письмо успешно отправлено!')); }