首页 > 解决方案 > PHP & Symfony 3:在表单上按下提交后电子邮件不发送,但使用 'php bin\console swiftmailer:email:send' 成功发送

问题描述

正是标题所暗示的。我正在尝试在用户提交表单后发送电子邮件。它可能相关,也可能不相关,但我使用的是 ekino wordpress/symfony 包,可以在这里找到。我相信我已将其范围缩小到以下行:

$form->handleRequest($request);

如果我在 createFormBuilder() 块下的代码中有此内容并单击提交按钮,则会收到以下错误

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?

如果我评论那篇文章,表单似乎已提交,但没有电子邮件到达。下面是整个函数。感谢您提前提供任何建议。

public function joinTeamPageAction(Request $request){

    $form = $this->createFormBuilder()
        ->add('from', EmailType::class)
        ->add('message', TextareaType::class)
        ->add('send',SubmitType::class)
        ->getForm()
    ;

    $form->handleRequest($request);


    if ($form->isSubmitted() && $form->isValid()){
        $data = $form->getData();

        $message = \Swift_Message::newInstance()
            ->setSubject('Join Our Team Request')
            ->setFrom($data['from'])
            ->setTo('emailme@example.com')
            ->setBody(
                $data['message'],'text/plain'
            )
        ;

        $this->get('mailer')->send($message);
    }

    return $this->render('/join_team/join_team.html.twig', array("title" => "Join Team","join_team_form" => $form->createView()));
}

标签: phpwordpressformssymfony-3.4

解决方案


推荐阅读