CakePHP formulaire de contact

Par bluuegaame, il y a 8 ans


Bonjour à tous,

J'ai suivit le tutoriel de Grafikart pour le formulaire de contact sur CakePHP (https://www.youtube.com/watch?v=1pFw3lLt4Ks&t=19s).
J'ai essayer de cherche sa configuration de WampServer, et j'ai donc suivit ce tuto : http://www.copier-coller.com/envoyer-des-mails-en-local-avec-wamp/

Malheureusement je n'arrive toujours pas à envoyer un mail... Si quelqu'un à une idée je suis preneur ! Merci d'avance !

Controller : ContactController.php

<?php class ContactController extends AppController{ function index(){ if($this->request->is('post')){ $this->Contact->send($this->request->data['Contact']); } } } ?>

Modèle : Contact.php

<?php class Contact extends AppModel{ public $useTable = false; public function send($dd){ app::uses('CakeEmail', 'Network/Email'); $mail = new CakeEmail(); $mail->to('distributeursdeplateaux@gmail.com') ->from('distributeursdeplateaux@gmail.com') ->subject('Contact :: site'); return $mail->send('Salut ça va ?'); } } ?>

Page : index.ctp

<h2>Contacter l'administrateur du site</h2> <table id="tablecontact" cellpadding="10" position="absolute"> <?php echo $this->Form->create('Contact');?> <tr id="trcontact"> <td>Votre nom : </td> <td><?php echo $this->Form->input('name', array('label' => ""));?></td> </tr> <tr id="trcontact"> <td>Votre email : </td> <td><?php echo $this->Form->input('email', array('label' => ""));?></td> </tr> <tr id="trcontact"> <td>Votre message : </td> <td><?php echo $this->Form->input('content', array('label' => "", "type"=>"textarea"));?></td> </tr> <tr id="trcontact"> <td></td> <td><?php echo $this->Form->end('Envoyer'); ?></td> </tr> </table>

email.php

class EmailConfig { // public $default = array( // 'transport' => 'Mail', // 'from' => 'distributeursdeplateaux@gmail.com', // //'charset' => 'utf-8', // //'headerCharset' => 'utf-8', // ); public $smtp = array( 'transport' => 'Smtp', 'from' => array('site@localhost' => 'My Site'), 'host' => 'localhost', 'port' => 465, 'timeout' => 30, 'username' => 'distributeursdeplateaux@gmail.com', 'password' => 'password', 'client' => null, 'log' => false, //'charset' => 'utf-8', //'headerCharset' => 'utf-8', ); }

Merci d'avance de votre aide !!

3 réponses

Lartak, il y a 8 ans

Bonjour.
Il te faut préciser que tu veux utiliser la configuration smtp, car si tu ne le précises pas, le framework utilisera la configuration default, il te faut donc faire :

$mail = new CakeEmail('smtp');
bluuegaame, il y a 8 ans

Bonjour Lartak.
Ca fonctionne ! Merci beaucoup.

Agréable journée à vous !

Lartak, il y a 8 ans

De rien, merci de même.