0

我将 Symfony 5 与 Mailer(不是 Swiftmail)一起使用,我的应用程序中有一个工作申请表,用户可以在其中上传文件,然后我想通过电子邮件向自己发送工作申请,包括不保存文件的文件,如果可能的话.. . 我只找到函数attachFromPath() 或attach(),但我想避免保存文件。

有人会知道吗?

我的表单文件中有这个:

$builder
            ->add('lastname', TextType::class, [
                'label' => 'Nom',
            ])
            ->add('firstname', TextType::class, [
                'label' => 'Prénom',
            ])
            ->add('mail', EmailType::class, [
                'label' => 'Email',
            ])
           
            ->add('files', FileType::class, [
                'multiple' => true,
                'constraints' => [
                    new File([
                        'maxSize' => '2048k',
                        'mimeTypes' => [
                            'application/pdf',
                            'application/x-pdf',
                        ],
                        'mimeTypesMessage' => 'Merci de téleverser un PDF document, 2mo max.',
                    ])
                ],
            ])
            ->add('message', TextareaType::class,  [
                'label' => 'Votre message',
            ])
            ->add('Postulez', SubmitType::class)

这在我的控制器中:

        $form = $this->createForm(JobApplicationContactFormType::class);
        $jobForm = $form->handleRequest($request);

        if($form->isSubmitted() && $form->isValid()){
            $jobEmail = (new TemplatedEmail())
            ->from($jobForm->get('mail')->getData())
            ->to('blabla@aol.fr')
            ->subject('Vous avez reçu une candidature d\'un contact du site')
            ->htmlTemplate('emails/jobEmail.html.twig')
            ->context([
                'lastname' => $jobForm->get('lastname')->getData(),
                'firstname' => $jobForm->get('firstname')->getData(),
                'area' => $jobForm->get('area')->getData(),
                'mail' => $jobForm->get('mail')->getData(),
                'message' => $jobForm->get('message')->getData(),
                'files' => $jobForm->get('files')->getData()
            ]);

            $mailer->send($jobEmail);

            $this->addFlash('message', 'Votre e-mail a bien été envoyé');
        }

4

0 回答 0