2017-08-16 92 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很高興我可以幫助:-) –