2010-12-01 16 views
11

Savez-vous ce qui est la référence d'erreur de syntaxe?555 5.5.2 Erreur de syntaxe. smtp de gmail

Voici le code que je utilise CakePHP

$User = $this->User->read(null,$id); 
    $this->Email->to = array('[email protected]');; 
    $this->Email->from = '[email protected]'; 
    $this->Email->subject = 'Welcome to our really cool thing'; 
    $this->Email->template = 'simple_message'; 

    $this->Email->sendAs = 'both'; 
    $this->Email->smtpOptions = array(
     'port'=>'465', 
     'timeout'=>'30', 
     'auth' => true, 
     'host' => 'ssl://smtp.gmail.com', 
     'username'=>'[email protected]', 
     'password'=>'********', 

    ); 
    $this->set('User', $User); 
    $this->Email->delivery = 'smtp'; 
    $this->Email->send(); 

NOTE J'envoie l'e-mail à moi-même pour le test porpuses

+0

Peut-être quelques détails supplémentaires sont en ordre. Comme, l'email qui cause cette erreur, comment vous l'envoyez, d'où vous l'envoyez, etc ... Jusque-là, cette question est "elle est cassée, corrigez-la, vous n'avez plus besoin de plus de détails" –

+0

Bien sûr, désolé, j'ai déjà fixé – juan

+0

si c'est corrigé, postez une réponse pour nous? Était-ce un problème de SSL? – zanlok

Répondre

19

a posé cette question ici: Cakephp SMTP emails syntax error

Voici RabidFire de (correct) answer:

Le SMTP de Google nécessite le format adresses e-mail de la manière suivante:

Recipient Name <[email protected]>

Est-ce pour les deux en provenance et à adresse, et vous devriez être bon d'aller. Si vous n'avez pas le nom de l'utilisateur , alors vous pouvez répéter la email:

$this->Email->to = "[email protected] <[email protected]>";

+1

Lors de l'utilisation de smtplib de python, je recevais la même erreur. Dans ce cas, si vous utilisez le nom, vous aurez toujours une erreur de syntaxe. Laissez le nom et ça ira bien (inclure le <>). –

0

J'ai eu cette erreur quand « de » champ était vide ou non valide . Donc, vous ne devriez pas utiliser de faux email dans votre test.

1

Je viens d'en trouver un aujourd'hui, une bibliothèque que j'utilise met le nom du site entre crochets avant d'envoyer le mail et provoque l'erreur de syntaxe 555 5.5.2.

Le mieux est de ne pas avoir de symboles dans la première partie de l'adresse où le nom doit apparaître. Mon erreur a été provoquée par

"Name [Site] <[email protected]>" 

et fixé par

"Name Site <[email protected]>" 
1

mise - et de comme "[email protected] <[email protected]>" was't travaillant pour moi. A dû changer les deux à "<[email protected]>". Mettre une chaîne en dehors de la partie < > échoue avec "L'envoi de courrier a échoué 555 5.5.2 Erreur de syntaxe .. - gsmtp"