Impossible d'envoyer un mail

Par dsigner1704, il y a 8 ans


Bonjour à tous !
sa fais un petit moment que je bloque sur mon site, car il est impossible d'envoyer des email
Voici donc mon controller

<? public function felicitation(){ App::uses('AppController', 'Controller'); App::uses('CakeEmail', 'Network/Email'); $email = new CakeEmail('default'); $email->transport('smtp'); $email->from('analyse.dossier@ap2sp.org') ->to(['dsigner1708@gmail.com' => 'My Website']) ->subject('Contact') ->send('test mail'); debug($this->request->data);die(); } } ?>

Ensuite mon fichier email.php

<? public $default = array( 'transport' => 'SMTP', 'host' => 'myhost', 'port' => 465, 'timeout' => 30, 'username' => 'domaine@domaine.com', 'password' => '*********', 'charset' => 'utf-8', 'headerCharset' => 'utf-8', ); ?>

malheuresement il affiche l'erreur suivante

Network is unreachable Error: An Internal Error Has Occurred. Stack Trace CORE/Cake/Network/Email/SmtpTransport.php line 155 → CakeSocket->connect() CORE/Cake/Network/Email/SmtpTransport.php line 95 → SmtpTransport->_connect() CORE/Cake/Network/Email/CakeEmail.php line 1173 → SmtpTransport->send(CakeEmail) APP/Controller/OnlinesController.php line 114 → CakeEmail->send(string) [internal function] → OnlinesController->felicitation() CORE/Cake/Controller/Controller.php line 491 → ReflectionMethod->invokeArgs(OnlinesController, array) CORE/Cake/Routing/Dispatcher.php line 193 → Controller->invokeAction(CakeRequest) CORE/Cake/Routing/Dispatcher.php line 167 → Dispatcher->_invoke(OnlinesController, CakeRequest) APP/webroot/index.php line 111 → Dispatcher->dispatch(CakeRequest, CakeResponse)

Merci d'avance pour le temps pris à lire mon message....

10 réponses

Lartak, il y a 8 ans

Bonsoir.
Ton principal problème est que tu ne charges pas les classes correctement.
Les App::uses, n'ont rien à faire dans une fonction, tu devrais plutôt avoir quelque chose du genre :

<?php App::uses('AppController', 'Controller'); App::uses('CakeEmail', 'Network/Email'); class ContactController extends AppController { public function felicitation() { $email = new CakeEmail('default'); $email->transport('smtp'); $email ->from('analyse.dossier@ap2sp.org') ->to(['dsigner1708@gmail.com' => 'My Website']) ->subject('Contact') ->send('test mail'); } }

Si après ça tu as malgrès tout toujours un problème, ça peut venir de plusieurs choses, comme par exemple le fait que tu reçoives les email en SPAM, ou un problème de configuration.

dsigner1704, il y a 8 ans

Merci de me repondre si rapidement.
J'ai appliqué les modifications, mais l'erreur ne change pas...

Kareylo, il y a 8 ans

J'ai bien l'impression que tu as inversé ton from et ton to pour la forme en tableau.

dsigner1704, il y a 8 ans

je ne comprend pas, peux tu être plus explicite ?

Kareylo, il y a 8 ans
<?php App::uses('AppController', 'Controller'); App::uses('CakeEmail', 'Network/Email'); class ContactController extends AppController { public function felicitation() { $email = new CakeEmail('default'); $email->transport('smtp'); $email ->from(['analyse.dossier@ap2sp.org' => 'My Website']) ->to('dsigner1708@gmail.com') ->subject('Contact') ->send('test mail'); } }
dsigner1704, il y a 8 ans

en fait, j'essaie d'envoyer un mail depuis mon site qui est marquer dans le from en esperant avoir bien compris ce que vous vouliez dire...

dsigner1704, il y a 8 ans

j'ai essayé un plugin "PHPMailer" et voici l'erreur que je reçoit

2017-10-05 11:48:35 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP b30sm15742902ede.1 - gsmtp 2017-10-05 11:48:35 CLIENT -> SERVER: EHLO analyse.oukaley.ap2sp.org 2017-10-05 11:48:35 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [213.246.62.66] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 2017-10-05 11:48:35 CLIENT -> SERVER: AUTH LOGIN 2017-10-05 11:48:35 SERVER -> CLIENT: 334 VXNlcm5hbWU6 2017-10-05 11:48:35 CLIENT -> SERVER: Z25hZ29hbGJlcm15MTk2MEBnbWFpbC5jb20= 2017-10-05 11:48:35 SERVER -> CLIENT: 334 UGFzc3dvcmQ6 2017-10-05 11:48:35 CLIENT -> SERVER: cmllbmFmYWlyZWRlMDA3 2017-10-05 11:48:36 SERVER -> CLIENT: 534-5.7.14 Please log in via your web browser and 534-5.7.14 then try again. 534-5.7.14 Learn more at 534 5.7.14 https://support.google.com/mail/answer/78754 b30sm15742902ede.1 - gsmtp 2017-10-05 11:48:36 SMTP ERROR: Password command failed: 534-5.7.14 Please log in via your web browser and 534-5.7.14 then try again. 534-5.7.14 Learn more at 534 5.7.14 https://support.google.com/mail/answer/78754 b30sm15742902ede.1 - gsmtp 2017-10-05 11:48:36 CLIENT -> SERVER: QUIT 2017-10-05 11:48:36 SERVER -> CLIENT: 221 2.0.0 closing connection b30sm15742902ede.1 - gsmtp SMTP connect() failed

Quelqu'un aurait il une idée ?

Kareylo, il y a 8 ans

Ton erreur est assez explicite, ton mot de passe semble incorrecte. C'est possible que tu aies à ajouter une application à ton compte Google.

Lartak, il y a 8 ans

Est-ce que les protocoles POP et IMAP sont activés dans les paramètres de ton compte GMAIL ?

dsigner1704, il y a 8 ans

Merci pour vos réponses.
@Kareylo le mot de passe est le bon, maintenant quand vous parlez d'ajouter une application j'avoue que je ne vois pas trop.

@Lartak les protocoles POP et IMAP s'activent comment (j'avoue que c'est la première fois que j'utilise PHPMailer)