Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF2][Symfony2][Symfony]Swiftmailer, Wysyłanie wiadomości przez formularz kontaktowy
kosmos
post
Post #1





Grupa: Zarejestrowani
Postów: 367
Pomógł: 17
Dołączył: 4.03.2008

Ostrzeżenie: (0%)
-----


Witam,
Mam problem z wysyłaniem danych z formularza na konto pocztowe przy pomocy Swiftmailera.

Formularz widok:

  1. <h2>Formularz Kontaktowy</h2>
  2. <?php echo $view['form']->start($form)?> // Nie używam tutaj przykładowo <form action = "{{path('success') }}" method="POST". Jak wskazać namiar na akcję kontrolera
  3. // po wysłaniu formularza?
  4. <?php echo $view['form']->errors($form) ?>
  5. <div>
  6. <?php echo $view['form']->row($form['name'],array(
  7. 'label' => false,
  8. 'attr' => array(
  9. 'class' => 'name',
  10. 'placeholder' => ' Imię'),)) ?>
  11. </div>
  12. <div>
  13. <?php echo $view['form']->row($form['surname'],array(
  14. 'label' => false,
  15. 'attr' => array(
  16. 'class' => 'surname',
  17. 'placeholder' => ' Nazwisko'),)) ?>
  18. </div>
  19. <div>
  20. <?php echo $view['form']->row($form['email'],array(
  21. 'label' => false,
  22. 'attr' => array(
  23. 'class' => 'email',
  24. 'placeholder' => ' Email'),)) ?>
  25. </div>
  26. <div>
  27. <?php echo $view['form']->row($form['subject'],array(
  28. 'label' => false,
  29. 'attr' => array(
  30. 'class' => 'subject',
  31. 'placeholder' => ' Temat'),)) ?>
  32. </div>
  33. <div>
  34. <?php echo $view['form']->row($form['note'],array(
  35. 'label' => false,
  36. 'attr' => array(
  37. 'class' => 'note',
  38. 'placeholder' => ' Wiadomość...'),
  39. )
  40. ) ?>
  41. </div>
  42.  
  43. <input type="submit" class="btn-form-style" value="WYŚLIJ" ?>"/>
  44.  
  45. <?php echo $view['form']->end($form) ?>


Message.php
<?php

// src/Acme/PageBundle/Entity/Message.php
namespace Acme\PageBundle\Entity;

  1. class Message
  2. {
  3. protected $name;
  4. protected $surname;
  5. protected $email;
  6. protected $subject;
  7. protected $note;
  8.  
  9.  
  10. public function getMessage()
  11. {
  12. return $this->message;
  13. }
  14. public function setMessage($message)
  15. {
  16. $this->message = $message;
  17. }
  18.  
  19. public function getName()
  20. {
  21. return $this->name;
  22. }
  23. public function setName($name)
  24. {
  25. $this->name = $name;
  26. }
  27.  
  28. public function getSurname()
  29. {
  30. return $this->surname;
  31. }
  32. public function setSurname($surname)
  33. {
  34. $this->surname = $surname;
  35. }
  36.  
  37. public function getEmail()
  38. {
  39. return $this->email;
  40. }
  41. public function setEmail($email)
  42. {
  43. $this->email = $email;
  44. }
  45.  
  46. public function getSubject()
  47. {
  48. return $this->subject;
  49. }
  50. public function setSubject($subject)
  51. {
  52. $this->subject = $subject;
  53. }
  54.  
  55. public function getNote()
  56. {
  57. return $this->note;
  58. }
  59. public function setNote($note)
  60. {
  61. $this->note = $note;
  62. }
  63. }
  64.  
  65. ?>


Controller

  1. public function contactAction(Request $request)
  2. {
  3.  
  4. $message = new Message();
  5. $form = $this->createForm(new ContactType(),$message);
  6.  
  7.  
  8.  
  9. if ($form->isValid()) { // Moge zastosować tu taki warunek?
  10. $message = \Swift_Message::newInstance()
  11. ->setSubject($message->getSubject())
  12. ->setFrom(array($message->getEmail()))
  13. ->setTo('.....@gmail.com')
  14. ->setBody($message->getNote());
  15. $this->get('mailer')->send($message);
  16. return $this->redirect($this->generateUrl('acme_task_success'));
  17. }
  18.  
  19.  
  20. return $this->render('AcmePageBundle:Default:contact.html.php', array(
  21. 'form' => $form->createView(),
  22. ));
  23.  
  24. }


Budowanie formularza

<?php
// src/Acme/PageBundle/Form/Type/ContactType.php
namespace Acme\PageBundle\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
  1. class ContactType extends AbstractType
  2. {
  3. public function buildForm(FormBuilderInterface $builder, array $options)
  4. {
  5. $builder
  6. ->add('name','text')
  7. ->add('surname','text')
  8. ->add('email','email')
  9. ->add('subject','text')
  10. ->add('note','textarea');
  11. }
  12.  
  13. public function getName()
  14. {
  15. return 'name';
  16. }
  17. }


routing.yml
  1. acme_task_success:
  2. path: /homepage/
  3. defaults: { _controller: AcmePageBundle:Default:homepage }




Całość niestety nie działa. Po wypełnieniu pól oraz wysłaniu formularza, następuje przekierowanie na tą samą stronę, a mail nie dociera do odbiorcy.

Prośba o wsparcie w tym temacie.


Jeszcze:

  1. # Swiftmailer Configuration
  2. swiftmailer:
  3. transport: smtp
  4. host: mail.nazwadomeny.pl
  5. username: kontakt.nazwadomeny.pl
  6. password: haslo
  7. spool: { type: memory }


Na gmailu, localhoście, wszystko chodziło jak należy.

Ten warunek
  1. if ($form->isValid()) {

nie działa.

Może po kolei uda mi sie rozwiązac z Waszą pomoca ten problem.
Więc krok po kroku ...
Po wywołaniu akcji send na formularzu, jak powinienem poprawnie przekazać jego dane do kontrolera a konkretnie akcji contactAction ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
com
post
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


@up naprawdę przyszedłeś tu tylko dla tego pomógł? jak tak to może czas porzucić to forum. Widzę już kolejny taki post od Ciebie, jak Ci żal, że ktoś Ci nie dał to pisz do moderatora i dostaniesz. W regulaminie masz taki zapis, jest gdzieś przepięte (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
Forti
post
Post #3





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

Ostrzeżenie: (0%)
-----


Cytat(com @ 27.04.2015, 22:44:53 ) *
@up naprawdę przyszedłeś tu tylko dla tego pomógł? jak tak to może czas porzucić to forum. Widzę już kolejny taki post od Ciebie, jak Ci żal, że ktoś Ci nie dał to pisz do moderatora i dostaniesz. W regulaminie masz taki zapis, jest gdzieś przepięte (IMG:style_emoticons/default/tongue.gif)


A co! Tylko po to (IMG:style_emoticons/default/biggrin.gif) Jak ja kiedyś pisałem tematy to klikałem (IMG:style_emoticons/default/tongue.gif) Jak kolega na no.. po mnie jechał że nie czytam ze zrozumieniem co się pisze (IMG:style_emoticons/default/tongue.gif) Już nie bądźcie tacy zdziwieni. Poświęcam czas na przeczytanie danego kodu, znalezienie błędu, odpisanie i wyjaśnienie to takie zwykłe "pomógł" cieszy jape. Może Tobie nie, ale mi tak (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Posty w temacie
- kosmos   [SF2][Symfony2][Symfony]Swiftmailer   27.04.2015, 10:12:51
- - Forti   Nie wiesz jak się pracuje z formularzami. Tworzys...   27.04.2015, 10:22:18
- - kosmos   Dodałem: [PHP] pobierz, plaintext public functio...   27.04.2015, 10:58:16
- - Turson   Masz wersje php ktora nie obsluguje jeszcze tablic...   27.04.2015, 12:06:16
- - kosmos   Obecnie mam ustawioną 5.3 ale moge zmienic na 5.4 ...   27.04.2015, 12:43:57
- - Forti   A jaki dostajesz błąd? Włącz wersje deweloperską ....   27.04.2015, 12:54:27
- - kosmos   Popatrzyłem w logi produkcyjne i miałem problem z ...   27.04.2015, 13:33:58
- - Turson   Nie getSubject a getSubject()   27.04.2015, 13:46:40
- - kosmos   Tak widzę już .... dzieki, za długo nad tym siedze...   27.04.2015, 14:10:54
- - Turson   Nadpisales zmienna message przez swifta   27.04.2015, 14:12:54
- - kosmos   Możesz jaśniej ?   27.04.2015, 14:18:49
- - memory   [PHP] pobierz, plaintext $message = Swift_Messag...   27.04.2015, 14:55:26
- - kosmos   memory - dzięki za wskazanie błędu. Poprawiłem i ...   27.04.2015, 20:12:11
- - Turson   [PHP] pobierz, plaintext $body = 'Od '.$message-...   27.04.2015, 20:26:57
- - kosmos   Dzięki Turson Wrzuciłem to do from [PHP] pobierz...   27.04.2015, 20:34:27
- - Forti   Dzisiaj ostatnio raz Tobie pomogłem z symfony Cza...   27.04.2015, 21:22:22
|- - skowron-line   Cytat(Forti @ 27.04.2015, 21:22:22 ) ...   28.04.2015, 07:28:09
- - com   @up naprawdę przyszedłeś tu tylko dla tego pomógł?...   27.04.2015, 21:44:53
|- - Forti   Cytat(com @ 27.04.2015, 22:44:53 ) @u...   28.04.2015, 08:29:17
- - com   No i fajnie, że klikałeś, inni też klikają, nie ch...   28.04.2015, 08:39:13
- - Turson   Ilość "pomógł" to przedłużenie p... #po...   28.04.2015, 08:45:57
- - com   Ta bo to ma jakiekolwiek znaczenie, nie ilość się ...   28.04.2015, 08:48:22
- - Forti   Za bardzo poważnie di tego podchodzicie ja tan lu...   28.04.2015, 09:16:02
- - skowron-line   @Forti może ton twoich wypowiedzi nie odpowiada lu...   28.04.2015, 10:00:02
- - Forti   1. temat dotyczy swiftmailera. Nie sprawdził porzą...   28.04.2015, 13:15:34


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 11:17