2017-08-16 90 views
0

我遇到了Symfony的问题,我希望你能帮助我:) 我创建了一个表单,它从用户(电子邮件,名称,消息)获取数据,然后将数据保存在数据库中。一切工作正常,但我也想发送电子邮件与这些数据。 我想用邮件功能mail(to,subject,message,headers,parameters);Symfony |表格| Mail

我的控制器类的样子:

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('[email protected]', 'Subject', $message); 

     return $this->redirectToRoute('onas'); 
    } 

    return $this->render('default/aboutus.html.twig', ['form' => $form->createView()]); 
} 

我的问题是:应该如何$消息变量样子,如果我想从用户这个数据(从我的网页形式)。

非常感谢所有的答案:)

回答

0

不知道,我紧紧跟随,但是,你要使用用户的输入只是做$message = $post->getMessage();并把它传递给mail发送纯文本。这是问题吗?

电子邮件默认情况下以text/plain编码发送,因此您将无法使用HTML。就我个人而言,我更喜欢将其格式化为比纯文本更好一点。为了达到这个目的,我通常会创建一个Twig模板,将输入数据传递给它并呈现我需要的内容。该模板可能包含一些可以增强电子邮件外观的HTML。

+0

是的,这是问题:)非常感谢:) –

+0

@WojciechNowaczyk很高兴我可以帮助:-) –