2012-10-15 2 views
0

J'ai le code suivantImpossible d'envoyer la commande AUTH LOGIN. Erreur: 530 5.7.0 Vous devez émettre une commande STARTTLS

  ini_set("SMTP","ssl://smtp.gmail.com"); 
      ini_set("smtp_port","587"); 

      $config['protocol'] = 'smtp'; 
      $config['smtp_host'] = 'smtp.gmail.com'; 
      $config['smtp_port'] = '587'; 
      $config['_smtp_auth']=TRUE; 
      $config['smtp_user'] = '[email protected]'; 
      $config['smtp_pass'] = 'password'; 
      $config['smtp_timeout'] = '60'; 
      $config['charset'] = 'utf-8'; 
      $config['wordwrap'] = TRUE; 
      $config['mailtype'] = "html"; 

      $this->email->initialize($config); 

      $this->email->from('[email protected]', 'Sender'); 
      $this->email->to('[email protected]'); 

      $this->email->subject('This is my subject'); 
      $this->email->message('This is the content of my message'); 

      if (! $this->email->send()) 
      { 
       show_error($this->email->print_debugger()); 
      } 
      else 
      { 
       echo('DONE'); 
      } 

Mais quand le code est exécuté, je reçois l'erreur suivante

Failed to send AUTH LOGIN command. Error: 530 5.7.0 Must issue a STARTTLS command first. qd9sm8462833pbb.31

J'ai utilisé

$this->load->library('email'); 

dans le constructeur de mon contrôleur. Mais je suis incapable d'envoyer un email de localhost. Quelle peut être la solution pour envoyer un email? Quels changements dois-je faire?

+0

Il ressemble à votre code tente de livrer SMTP texte brut, ne pas utiliser TLS ou SSL connexion sécurisée. –

+0

@RomanR. Comment utiliser une connexion sécurisée TLS ou SSL? –

+0

Je n'ai pas la réponse pour "comment" partie (spécifiquement à 'php'), mais le message d'erreur dit clairement" pourquoi ". –

Répondre

1

Je pense que vous devriez définir l'option "Activer IMAP" dans votre compte Gmail.

Il est dans les options de messagerie.

Et changer votre port 465 ...

$ config [ 'smtp_port'] = '587';

à

$ config [ 'smtp_port'] = '465';

Bonne chance ...

1
$config['protocol'] = 'smtp'; 
$config['smtp_host'] = 'ssl://smtp.gmail.com'; 
$config['smtp_port'] = '465'; 
+1

Bienvenue sur Stack Overflow Ariel! S'il vous plaît, ajoutez une description à votre réponse, en expliquant comment cela résout la question! Vous pouvez lire un peu plus d'informations, comment cracker une réponse sur Stack Overflow: http://stackoverflow.com/help/how-to-answer – dirtydanee

+0

Bien que cet extrait de code puisse résoudre le problème, il n'explique ni pourquoi ni comment répond à la question. Veuillez [inclure une explication pour votre code] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers), car cela aide vraiment à améliorer la qualité de votre message. Rappelez-vous que vous répondez à la question pour les lecteurs dans le futur, et que ces personnes pourraient ne pas connaître les raisons de votre suggestion de code. ** Flaggers/reviewers: ** [Pour les réponses au code comme celui-ci, downvote, ne pas supprimer!] (// meta.stackoverflow.com/a/260413/2747593) –

Questions connexes