J'ai mis le strict minimum pourtant... Effectivement j'aurais pu externaliser le formulaire et ses validateurs... Mais c'est le minimum... (ce qui te déstabilise peut être c'est le fait que ma liste de contact soit générée par une base de donnée)
On 16 mai, 18:59, Mohamed Lamine Kamagaté <kamaga...@gmail.com> wrote: > C'est tordu comme code [?] mais ça a l'avantage de marcher. Mais je te > conseillerais de creuser encore plus pour optimiser ce code. > > 2011/5/16 Yo <yoproguitarist...@hotmail.fr> > > > > > > > > > Tu as tout a fait raison! Je sais cela! Mais c'est le seul moyen > > sécurisé pour envoyer des mails avec possibilité de réponse a > > lutilisateur sans devoir a chaque fois declarer de nouvelles adresses > > d'envois a son smtp! Ce qui serait très chiant pour un formulaire de > > contact qui aura une infinité d'utilisateurs et donc une infinité > > d'adresses mails différentes! > > > On 16 mai, 17:35, Cyril FLIELLER <cyril.fliel...@gmail.com> wrote: > > > Je pense que tu te trompes, j'imagine que tes mails sont envoyés et reçu > > par > > > la même adresse, par contre, si tu cliques sur répondre dans ton client > > > mail, tu enverras à l'adresse du replyTo. > > > > Cyril FLIELLER > > > > Le 16 mai 2011 17:31, Yo <yoproguitarist...@hotmail.fr> a écrit : > > > > > J'ai trouvé la feinte!!! > > > > Je poste donc ma solution complète qui servira a quelqu'un j'espere!!! > > > > =) > > > > > Mon action.class > > > > > public function executeIndex(sfWebRequest $request) > > > > { > > > > $contacts = Doctrine_Query::create() > > > > ->select('libelle') > > > > ->from('contact') > > > > ->fetchArray(); > > > > > foreach($contacts as $ct) > > > > $contact[] = $ct['libelle']; > > > > > $this->form = new sfForm(); > > > > $this->form->setWidgets(array( > > > > 'contact' => new > > > > sfWidgetFormSelect(array('choices' => > > > > $contact,'label'=>'Ecrire à : ')), > > > > 'adresseMail' => new > > > > sfWidgetFormInputText(array('label' => "Votre > > > > adresse e-mail :")), > > > > 'objet' => new > > > > sfWidgetFormInputText(array('label' => "Objet du > > > > mail :")), > > > > 'texte' => new > > > > sfWidgetFormTextarea(array('label' => "Texte du > > > > mail :")), > > > > )); > > > > > $this->form->setValidators(array( > > > > 'contact' => new > > sfValidatorChoice(array('choices' > > > > => $contact)), > > > > 'adresseMail' => new > > > > sfValidatorString(array('max_length' => > > > > 100)), > > > > 'objet' => new > > sfValidatorString(array('max_length' > > > > => 100)), > > > > 'texte' => new > > sfValidatorString(array('max_length' > > > > => > > > > 1500)), > > > > )); > > > > > if($request->isMethod('POST')) > > > > { > > > > > $adresses = Doctrine_Query::create() > > > > ->select('adresse') > > > > ->from('contact') > > > > ->where('libelle > > > > =\''.$request->getParameter('contact').'\'') > > > > ->fetchArray(); > > > > > foreach($adresses[0] as $ad) > > > > $adresse = $ad; > > > > > $mailContext = array('name'=> 'ExempleTest > > mail'); > > > > $mail = Swift_Message::newInstance() > > > > - > > > > >setTo($adresse) // adresse de > > > > réception > > > > ->setSubject($request->getParameter('objet')) > > > > - > > > > >setFrom("adressem...@hotmail.fr") */ ici il faut > > > > mettre l'adresse qui est reconnu comme adresse d'envoi par votre smtp > > > > (elle ne changera jamais) /* > > > > ->setReplyTo($request- > > > > >getParameter('adresseMail')) // adresse d'envoi (celle de > > > > l'utilisateur voulant vous contacter > > > > ->setBody($request->getParameter('texte')); > > > > > $this->getMailer()->send($mail); > > > > $this->posted=true; > > > > } > > > > > } > > > > > Mon template > > > > > <h1>Contact</h1> > > > > <?php if (!isset($posted)) {?> > > > > <form action="<?php echo url_for("contact/index") ?>" <?php echo " > > > > onmouseover=\"changeValue('contact')\"";?> method="POST"> > > > > <table> > > > > <?php echo $form ?> > > > > <tr><td colspan="2"><input type="submit"/></td></tr></table></form> > > > > <?php } else {?> > > > > Votre message a été envoyé avec succès!!! > > > > <?php }?> > > > > > Mon factories.yml : > > > > > mailer: > > > > class: sfMailer > > > > param: > > > > logging: %SF_LOGGING_ENABLED% > > > > charset: %SF_CHARSET% > > > > delivery_strategy: realtime > > > > transport: > > > > class: Swift_SmtpTransport > > > > param: > > > > host: in.mailjet.com > > > > port: 587 > > > > encryption: ~ > > > > username: monUsername > > > > password: monPassword > > > > > Voila!!! > > > > Ca m'a demandé du temps pour comprendre la feinte du replyTo mais ca > > > > marche niquel maintenant!!! Cette ruse permet de ne pas avoir à > > > > déclarer à chaque fois les nouvelles adresses d'envoi a votre smtp. > > > > Ca me parait etre une solution complète de formulaire de contact! > > > > J'espère que j'aurais fait avancer du monde! =) > > > > > On 16 mai, 11:35, Yo <yoproguitarist...@hotmail.fr> wrote: > > > > > Voilou tout marche presque comme il faut... Seulement il me reste un > > > > > dernier problème : "Comment faire pour configurer son smtp afin qu'il > > > > > accepte toutes les adresses d'envoi? En effet en principe dans un > > > > > formulaire de contact on ne connais pas à l'avance les adresses mails > > > > > qui vont nous envoyer des messages! Hors le smtp gmail demande de > > > > > connaitre les adresses d'envoi... J'avou que je reste un peu perplexe > > > > > sur la marche a suivre! > > > > > > Merci de votre aide! > > > > > > On 15 mai, 21:17, Nicolas Lefebvre <nlefeb...@gmx.fr> wrote: > > > > > > > si tu ne passe pas part smtp mais par mail() sa devrais marché > > > > > > dans se ka tu ne mais rien dans le fichier Factories > > > > > > > Le 15 mai 2011 à 20:17, Jérémy LEHERPEUR a écrit : > > > > > > > > Quelle offre ? > > > > > > > Donne nous plus de détails. > > > > > > > > Le 15 mai 2011 20:16, Cyril FLIELLER <cyril.fliel...@gmail.com> > > a > > > > écrit : > > > > > > > 1and1 > > > > > > > > Cyril FLIELLER > > > > > > > > Le 15 mai 2011 20:14, Jérémy LEHERPEUR <jer...@leherpeur.net> a > > > > écrit : > > > > > > > > Nan mais par firewall je voulais dire ce que disait Mohamed. > > > > > > > Blocage quelque part, mais ou... > > > > > > > > Qui est ton hébergeur ? > > > > > > > > Le 15 mai 2011 20:12, Cyril FLIELLER <cyril.fliel...@gmail.com> > > a > > > > écrit : > > > > > > > > ok merci ! Sinon quel pourrait être le souci avec le firewall ?? > > > > > > > > Cyril FLIELLER > > > > > > > > 2011/5/15 Mohamed Lamine Kamagaté <kamaga...@gmail.com> > > > > > > > Le gmail ne passe pas parce que certainement l'hébergeur refuse > > les > > > > serveurs smtp externes. C'est le cas chez godaddy. Je pense que tu > > devrais > > > > écrire à ton hébergeur pour savoir quels sont les bons paramètres pour > > > > envoyer correctement un email depuis un script sur leur machine. > > > > > > > Sinon entre temps essaie d'envoyer un mail avec la fonction > > mail() de > > > > php et regarde phpinfo() pour les paramètres par defaut de la fonction > > > > mail(). > > > > > > > Cordialement. > > > > > > > > 2011/5/15 Jérémy LEHERPEUR <jer...@leherpeur.net> > > > > > > > Oui mais ton thunderbird est sur ta machine. > > > > > > > Ton site est sur le serveur en prod. c'est bien le cas ? > > > > > > > > Donc rien a voir .... > > > > > > > > Le 15 mai 2011 18:58, Cyril FLIELLER <cyril.fliel...@gmail.com> > > a > > > > écrit : > > > > > > > > non j'imagine que non puisque je peux envoyer des mails avec > > cette > > > > même configuration depuis thunderbird ! > > > > > > > > Cyril FLIELLER > > > > > > > > Le 15 mai 2011 18:54, Jérémy LEHERPEUR <jer...@leherpeur.net> a > > > > écrit : > > > > > > > > Salut, > > > > > > > Juste comme ca c'est pas un problème de firewall simplement ?? > > > > > > > > Le 15 mai 2011 18:06, Cyril FLIELLER <cyril.fliel...@gmail.com> > > a > > > > écrit : > > > > > > > > 500 | Internal Server Error | Swift_TransportException > > > > > > > > Connection could not be established with host > > > > > > > auth.smtp.1and1.fr[Connection > > refused #111] > > > > > > > > Cyril FLIELLER > > > > > > > > Le 15 mai 2011 18:04, Nicolas Lefebvre <nlefeb...@gmx.fr> a > > écrit : > > > > > > > > quel est le code error ? > > > > > > > > Le 15 mai 2011 à 17:09, Cyril FLIELLER a écrit : > > > > > > > >> Sur le serveur et donc en prod > > > > > > > >> Cyril FLIELLER > > > > > > > >> Le 15 mai 2011 15:42, Nicolas Lefebvre <nlefeb...@gmx.fr> a > > écrit : > > > > > > >> Qs? > > > > > > >> Tu est en local ou pas? > > > > > > >> Tes en dev ou en Prod ? > > > > > > > >> Le 15 mai 2011 à 15:34, Cyril FLIELLER a écrit : > > > > > > > >>> Oui, j'ai essayé, et j'ai la même erreur. > > > > > > > >>> Cyril FLIELLER > > > > > > > >>> -- > > > > > > >>> Vous recevez ce message, car vous êtes abonné au groupe Google > > > > Groupes Symfony-fr. > > > > > > >>> Pour envoyer un message à ce groupe, adressez un e-mail à > > > > symfony-fr@googlegroups.com. > > > > > > >>> Pour vous désabonner de ce groupe, envoyez un e-mail à > > l'adresse > > > > symfony-fr+unsubscr...@googlegroups.com. > > > > > > >>> Pour plus d'options, consultez la page de ce groupe : > > > >http://groups.google.com/group/symfony-fr?hl=fr > > > > > > > >> -- > > > > > > >> Vous recevez ce message, car vous êtes abonné au groupe Google > > > > Groupes Symfony-fr. > > > > > > >> Pour envoyer un message à ce groupe, adressez un e-mail à > > > > symfony-fr@googlegroups.com. > > > > > > >> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse > > > > symfony-fr+unsubscr...@googlegroups.com. > > ... > > plus de détails » > > 330.gif > < 1 000AfficherTélécharger -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Symfony-fr. Pour envoyer un message à ce groupe, adressez un e-mail à symfony-fr@googlegroups.com. Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse symfony-fr+unsubscr...@googlegroups.com. Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/symfony-fr?hl=fr