У меня проблема с Symfony, и я надеюсь, что вы мне поможете 🙂
Я создал форму, которая получает данные от пользователя (электронная почта, имя, сообщение), а затем сохраняет данные в базе данных. Все отлично работает, но я также хочу отправить электронное письмо с этими данными.
Я хочу использовать функцию почты mail(to,subject,message,headers,parameters);
,
Мой класс контроллера выглядит так:
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, если я хочу получить эти данные от пользователя (из формы на моей веб-странице).
Большое спасибо за все ваши ответы 🙂
Не уверен, что я следую, но, вы хотите отправить простой текст, используя ввод пользователя, просто сделайте $message = $post->getMessage();
и передать его mail
, Это проблема?
Электронная почта по умолчанию отправляется в text/plain
кодирование, так что вы не сможете использовать HTML
, Лично я предпочитаю форматировать его немного лучше, чем старый текст. Чтобы достичь этого, я обычно создаю Twig
шаблон, передать ему входные данные и сделать то, что мне нужно. Этот шаблон может содержать некоторый HTML, который может улучшить внешний вид электронного письма.
Других решений пока нет …