Bonjour, j'ai déjà posté un sujet similaire mais je n'arrive toujours pas à envoyer des mails simples. Je suis en localhost et j'aimerais envoyer un mail directement en passant par le **SMTP GMAIL** je m'y perd un peu avec toute ces configs : la configuration de CakeEmail la confifguration du fichier php.ini de wampserver et la coonfiguration de sendmail ( http://www.grafikart.fr/blog/mail-local-wamp#commentForm )** quelle configuration supprimer quand on passe en production ? J'ai suivi le tuto sur le formulaire de contact ( http://www.grafikart.fr/tutoriels/cakephp/contact-form-cakephp2-261 ) je ne sais plus trop quoi tester voici ma config : **Config/email.php** [code]class EmailConfig { public $default = array( 'transport' => 'Smtp', 'port'=>'465', 'timeout'=> 30, 'host' => 'ssl://smtp.gmail.com', 'username'=>'tacher.maxime@gmail.com', 'password'=>'monpassword', 'client' => null, } }[/code] **Controller/EnvoisController.php** [code]App::uses('AppController', 'Controller'); class EnvoisController extends AppController { public $uses = array('Envoi'); function index(){ if($this->request->is('post')){ $this->Envoi->send($this->request->data['Envoi']); } } }[/code] **Model/Envoi.php** [code]App::uses('AppModel', 'Model'); class Envoi extends AppModel{ public $useTable = false; public function send($d){ App::uses('CakeEmail', 'Network/Email'); $mail = new CakeEmail(); $mail->to('tacher.maxime@gmail.com'); $mail->from('tacher.maxime@gmail.com'); $mail->subject('TESTING'); return $mail->send(); } }[/code] **config php.ini wampserver** [code][mail function] ; For Win32 only. ; http://php.net/smtp SMTP = smtp.gmail.com ; http://php.net/smtp-port smtp_port = 465 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = tacher.maxime@gmail.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path sendmail_path = "C:\wamp\sendmail\sendmail.exe"[/code] et Enfin ma config **sendmail.ini** [code][sendmail] smtp_server=smtp.gmail.com smtp_port=465 smtp_ssl=ssl default_domain=gmail.com error_logfile=error.log auth_username=tacher.maxime@gmail.com auth_password=monpassword pop3_server= pop3_username= pop3_password= force_sender=tacher.maxime@gmail.com force_recipient= hostname=[/code] Pouvez-vous me dire ce qu'il ne va pas et ce que vous avez mis dans votre propre configuration pour l'envoi d'email ? Cordialement. Maxime

1 réponse


maxime014
Auteur
Réponse acceptée

Bonjour, j'ai finalement trouvé d'où vient le problème

le combo Windows 8.1 + WampServer provoque des bugs quand il s'agit de communiquer avec le smtp.gmail.com

J'ai trouvé un lien : http://yogeshchaugule.com/blog/2013/configure-sendmail-wamp

qui permettrai de régler ce problème en utilisant 'stunnel'. j'ai essayé mais sans succés ...

J'ai donc décidé ceci :
Pour effectuer mes tests en localhost j'utilise le SMTP de ma bbox: (pas besoin d'authentification donc pas besoin de Sendmail):

php.ini (localhost)

[mail function]
; For Win32 only.
; http://php.net/smtp
 SMTP = smtp.bbox.fr
; http://php.net/smtp-port
 smtp_port =25
; For Win32 only.
; http://php.net/sendmail-from
 sendmail_from = tacher.maxime@gmail.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
; sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
; mail.add_x_header = On
; Log all mail() calls including the full path of the script, line #, to address and headers
;mail.log =

et quand je passe en production ( utilisation d'un windows XP avec WampServer )

je change mon php.ini

[mail function]
; For Win32 only.
; http://php.net/smtp
; SMTP = smtp.bbox.fr // JE COMMENTE
; http://php.net/smtp-port
;smtp_port = 25 //JE COMMENTE
; For Win32 only.
; http://php.net/sendmail-from
; sendmail_from = support@nextel.fr // JE COMMENTE
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"

// JE DE-COMMENTE

et dans le sendmail.ini je précise ma configuration :

[sendmail]
smtp_server=smtp.gmail.com
smtp_port=465
smtp_ssl=auto
default_domain=gmail.com
error_logfile=error.log
auth_username=tacher.maxime@gmail.com
auth_password=monpassword
pop3_server=
pop3_username=
pop3_password=
force_sender=
force_recipient=tacher.maxime@gmail.com
hostname=

concernant ma config CakeEmail j'ai épuré les informations, je n'ai plus que ceci :

class EmailConfig {

    public $default = array(
        'transport' => 'Mail'
          }
}

Voilà, en espérant que ça puisse aider à d'autres !

;)
Cordialement.

Maxime