2017-08-16 9 views
0

私はSymfonyに問題があります。私はあなたが私を助けてくれることを願っています:) 私は、ユーザー(電子メール、名前、メッセージ)からデータを受け取り、データをデータベースに保存するフォームを作成しました。すべて正常に動作しますが、私もこのデータを電子メールで送信します。 メール機能mail(to,subject,message,headers,parameters);を使いたいです。Symfony |フォーム|メール

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()]); 
} 

私の問題は、次のとおりです:

私のコントローラクラスがどのように見えるかをすべき$メッセージ変数は、私は(私のWebページ上のフォームから)、ユーザーからこのデータを取得したい場合のように見えます。すべてのあなたの答えのための

どうもありがとう:)

答えて

0

だけではありません$message = $post->getMessage();を行うと、mailにそれを渡す私は従いますが、あなたは、ユーザーの入力を使用してプレーンテキストを送信することを確認してください。それは問題ですか?

電子メールは、デフォルトでtext/plainエンコーディングで送信されますので、HTMLを使用することはできません。個人的には、古いプレーンテキストより少し上手く書式を設定することを好みます。これを達成するために、私は通常Twigテンプレートを作成し、それに入力データを渡して、必要なものをレンダリングします。そのテンプレートには、電子メールの視覚的な見栄えを高めるHTMLが含まれている可能性があります。

+0

はい、それは問題でした:)ありがとうございました:) –

+0

@WojciechNowaczyk私は助けてくれるとうれしいです:-) –

関連する問題