Bonjour, bon j'arrive à l'étape de confirmation par email et j'aurais besoin d'envoyer l'email avec le token de validation, sauf que je me retrouve avec une erreur Could not send email: unknown, j'ai essayer le code par default de la doc, et pareil je me demande donc si sa ne serais pas un bug de la version preview ?

public function sendVerifEmail($userEmail){
        $email = new Email('email');
        $email->to('user@gmail.com')
            ->from(['noreply@myaddress.net' => 'Hello'])
            ->subject('Registration')
            ->send();
    }
}

11 réponses


Bonsoir,

Quelle version utilises-tu ? Cakephp 3 RC2 est une version quasi stable, les mails fonctionnent correctement.
Peux tu donner le message d'erreur complet ?

Muxabble
Auteur

L'erreur complete étant :
Could not send email: unknown
Cake\Network\Exception\SocketException

Bonsoir.
As-tu bien ajouté au début de ton controller :

use Cake\Network\Email\Email;

Et as-tu renseigné la configuration pour l'envoi d'emails ?

Muxabble
Auteur

Oui, j'ai bien mis le use en début x)

Et dans le config/app.php tu as mis quoi dans Transport et Email?

Muxabble
Auteur

Dans transport j'ai :

'EmailTransport' => [
        'default' => [
            'className' => 'Mail',
            // The following keys are used in SMTP transports
            'host' => 'localhost',
            'port' => 25,
            'timeout' => 30,
            'username' => 'user',
            'password' => 'secret',
            'client' => null,
            'tls' => null,
        ],
    ],

et dans Email

'Email' => [
        'default' => [
            'transport' => 'default',
            'from' => 'you@localhost',
            'charset' => 'utf-8',
            'headerCharset' => 'utf-8',
        ],
    ],

Cela vient très certeinement que la configuration de ton pc ne correspond pas à celle d'un serveur SMTP ou POP. En gros soit tu installes un serveur qui permet d'envoyer des e-mails depuis ton pc, soit il faut regarder comment envoyer des mails SMTP sur la doc de cakephp qui va utiliser un serveur comme outlook, google ou autre avec tes identifiants.

Muxabble
Auteur

mais en fait je suis en version dev sous VM avec catch mailer ! donc normalement sa ne devrais pas poser de soucis ?

Muxabble
Auteur

Je n'ai toujours pas réussie :p, je ne vois pas d'où sa peut venir, peut être une config de ma VM ?

la VM est en local ou bien sur un serveur ?

Muxabble
Auteur

Non non en local, mais j'ai juste pris un App d'un projet neuf de cake et sa fonctionne ... je n'ai pas compris x)