Bonjour
Un problème à l'envers !

Les envois de mails sont ok en local mais pas chez 1and1.fr.
tout d'abord config/Email.php :

class EmailConfig {
    public $gmail = array(
            'host' => 'ssl://smtp.gmail.com',
            'port' => 465,
            'username' => 'toto.@gmail.com',
            'password' => 'secret',
            'transport' => 'Smtp',
                        'log'=>false
            //'tls' => true
    );
}

En local tout est ok, les emails sont bien envoyés.
Chez 1and1.fr j'ai l'erreur suivante :

Connection timed out
Error: An Internal Error Has Occurred.
Stack Trace
CORE/Cake/Network/Email/SmtpTransport.php line 154 ? CakeSocket->connect()
CORE/Cake/Network/Email/SmtpTransport.php line 95 ? SmtpTransport->_connect()
CORE/Cake/Network/Email/CakeEmail.php line 1158 ? SmtpTransport->send(CakeEmail)
APP/Controller/ContactsController.php line 21 ? CakeEmail->send(string)
APP/Controller/ContactsController.php line 40 ? ContactsController->sendEmailDirect(string, string, string, null, string, string)
[internal function] ? ContactsController->add()
CORE/Cake/Controller/Controller.php line 490 ? ReflectionMethod->invokeArgs(ContactsController, array)
CORE/Cake/Routing/Dispatcher.php line 191 ? Controller->invokeAction(CakeRequest)
CORE/Cake/Routing/Dispatcher.php line 165 ? Dispatcher->_invoke(ContactsController, CakeRequest)
APP/webroot/index.php line 108 ? Dispatcher->dispatch(CakeRequest, CakeResponse)

Je précise que la fonction mail de base fonctionne chez 1and1.fr

$from ="toto@.com";
$sujet= "test ";
$recipient="tata@toto.fr";
$message= "massage !";
mail ("$recipient", "$sujet", "$message", "From: $from");

PS j'ai aussi essayé d'utilise cakeEmail sans gmail avec le même résultât !

2 réponses


sakini
Auteur

J'en ai été réduit à revenir à la fonction mail php de base... Ce qui est dommage quand on utilise un framework

Bonjour,

Le probleme ne se trouve pas sur le framework je pense, mais une limitation de ton hebergeur, il ne doit pas autoriser le port 465 de gmail et ça fonctionne avec mail car tu utilise le port 25 qui lui doit etre ouvert.

Cordialement