src/Controller/MailerController.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bridge\Twig\Mime\TemplatedEmail;
  4. use Symfony\Component\Mailer\MailerInterface;
  5. use Symfony\Component\Mime\Email;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  11. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  12. class MailerController extends AbstractController
  13. {
  14.     #[Route('/mail'name'app_mail')]
  15.     public function sendEmail(MailerInterface $mailerRequest $request): Response
  16.     {
  17.         
  18.         $emailForm $this->createFormBuilder()
  19.             ->add('nachricht'TextareaType::class, [
  20.                 'attr' => array('rows' => '5')
  21.             ])
  22.             ->add('abschicken'SubmitType::class, [
  23.                 'attr' => [
  24.                     'class' => 'btn btn-outline-danger float-right'
  25.                 ]
  26.             ])
  27.         
  28.             ->getForm();
  29.         
  30.         $emailForm->handleRequest($request);
  31.         
  32.         if ($emailForm->isSubmitted()) {
  33.             $eingabe $emailForm->getData();
  34.             $text = ($eingabe['nachricht']);
  35.             $tisch 'tisch1';
  36.             $email = (new TemplatedEmail())
  37.                 ->from('tisch1@menukarte.wip')
  38.                 ->to('eva@bobb.ch')
  39.                 ->subject('Nachricht')
  40.         
  41.                 ->htmlTemplate('mailer/mail.html.twig')
  42.         
  43.                 ->context([
  44.                     'tisch' => $tisch,
  45.                     'text' => $text
  46.                 ]);
  47.         
  48.             $mailer->send($email);
  49.             $this->addFlash('nachricht''Nachricht wurde versendet!');
  50.             return $this->redirect($this->generateUrl('app_mail'));
  51.         }
  52.         
  53.         return $this->render('mailer/index.html.twig', [
  54.             'emailForm' => $emailForm->createView()
  55.         ]);
  56.     }
  57. }