Uzywam wersji 2.7 frameworka Symfony i mam problem z wysylka maila z formularza kontaktowego.
Niby obiekty nie sa puste, a mail nie wysyla sie. Byc moze cos przeoczylem w kodzie.
ContactType.php:
namespace Ml\FrontendBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Symfony\Component\Validator\Constraints\Email; use Symfony\Component\Validator\Constraints\Length; use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\Constraints\Collection; class ContactType extends AbstractType { { $builder 'pattern' => '.{2,}' // minlength ) )) )) 'pattern' => '.{3,}' // minlength ) )) 'cols' => 40, 'rows' => 10, ) )); } public function setDefaultOptions(OptionsResolverInterface $resolver) { ), ), ), ) )); 'constraints' => $collectionConstraint )); } public function getName() { return 'ml_frontendbundle_contact'; } }
Fragment z kontrolera:
use Ml\FrontendBundle\Form\ContactType; public function contactAction(Request $request) { $form = $this->createForm(new ContactType()); $mailer = $this->get('mailer'); if ($request->isMethod('POST')) { $form->handleRequest($request); if ($form->isValid()) { $mailer = $this->get('mailer'); $message_content = $mailer->createMessage() ->setSubject($form->get('subject')->getData()) ->setFrom($form->get('email')->getData()) ->setTo('przykladowymail@mail.com') ->setBody( $this->renderView( 'MlFrontendBundle:Default:message.html.twig', 'ip' => $this->container->get('request_stack')->getCurrentRequest()->getClientIp(), 'name' => $form->get('name')->getData(), 'email' => $form->get('email')->getData(), 'subject' => $form->get('subject')->getData(), 'message' => $form->get('message')->getData(), ) ), 'text/html' ); $mailer->send($message_content); $this->get('session')->getFlashBag()->add('success', "Twoja wiadomość została wysłana. Dziękujemy."); return $this->redirect($this->generateUrl('_kontakt')); } } return $this->render('MlFrontendBundle:Default:contact.html.twig', array('form' => $form->createView())); }
contact.html.twig:
message.html.twig:
IP nadawcy: {{ ip }} Imię i nazwisko: {{ name }} Adres e-mail: {{ email }} Temat: {{ subject }} Wiadomość: {{ message|raw }}
Bylbym wdzieczny za pomoc przy rozwiklaniu zagadki, skad sie bierze problem z wysylka maila.