我遇到了Symfony的问题,希望你能帮助我:)
我创建了一个表单,它从用户(电子邮件,名称,消息)获取数据,然后将数据保存在数据库中。一切正常,但我也想发送包含这些数据的电子邮件。
我想使用邮件功能mail(to,subject,message,headers,parameters);
。
我的Controller类看起来像:
public function ContactFormAction(Request $request){
$post = new ContactForm();
$form = $this->createFormBuilder($post)
->setMethod('POST')
->add('email','text',['label' => 'Adres e-mail'])
->add('name','text', ['label' => 'Imię'])
->add('message','text', ['label' => 'Wiadomość'])
->add('save','submit', ['label' => 'Wyślij'])
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted()) {
$post = $form->getData();
$em = $this->getDoctrine()->getManager();
$em->persist($post);
$em->flush();
$message=''; //thats my problem
mail('example@example.pl', 'Subject', $message);
return $this->redirectToRoute('onas');
}
return $this->render('default/aboutus.html.twig', ['form' => $form->createView()]);
}
我的问题是:如果我想从用户(从我的网页上的表单)获取此数据,$ message变量应如何显示。
非常感谢您的所有答案:)
答案 0 :(得分:0)
不确定我是否关注,但是,您想要使用用户的输入发送纯文本,只需执行$message = $post->getMessage();
并将其传递给mail
。这是问题吗?
默认情况下,电子邮件是以text/plain
编码发送的,因此您将无法使用HTML
。就个人而言,我更喜欢将它格式化得比旧纯文本好一点。为此,我通常会创建一个Twig
模板,将输入数据传递给它并呈现我需要的内容。该模板可能包含一些HTML,可以增强电子邮件的视觉效果。