2017-01-29 1 views
0

J'utilise Codeigniter pour envoyer un e-mail depuis mon script PHP.Impossible d'envoyer un e-mail dans Codeigniter

Mon code pour envoyer du courrier est:

// Library must be loaded first 
      $this->load->library('email'); 


      $config = array(
         'protocol'  =>  'smtp', 
         'smtp_host'  =>  'smtp.gmail.com', 
         'smtp_port'  =>  587, 
         'smtp_user'  =>  '[email protected]', 
         'smtp_pass'  =>  'mypass' 
        ); 


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

      $this->email->from($email, 'User'); 
      $this->email->to('[email protected]'); 
      $this->email->subject($sub); 
      $this->email->message($body); 


      if($this->email->send()) 
      { 
       echo '<div class="alert alert-success>Email sent successfully</div>"'; 
      } 
      else 
      { 
       echo $this->email->print_debugger(); 
      } 

L'erreur que je reçois est:

Impossible d'envoyer des courriels via SMTP PHP. Votre serveur n'est peut-être pas configuré pour envoyer du courrier à l'aide de cette méthode.

Y at-il un moyen de résoudre ce problème? Toute aide sera appréciée.

+0

Vous devez configurer votre serveur Web pour envoyer des courriels. – Goran

+0

Mais comment faire cela? –

Répondre

0

Set vous config comme ça ..

$config = Array(
    'protocol' => 'smtp', 
    'smtp_host' => 'ssl://smtp.googlemail.com', 
    'smtp_port' => 465, 
    'smtp_user' => '[email protected]', // change it to yours 
    'smtp_pass' => 'xxx', // change it to yours 
    'mailtype' => 'html', 
    'charset' => 'iso-8859-1', 
    'wordwrap' => TRUE 
); 
0

Essayez avec sendmail

$config['protocol'] = 'sendmail'; 
$config['mailpath'] = '/usr/sbin/sendmail'; 
$config['charset'] = 'iso-8859-1'; 
$config['mailtype'] = 'html'; 

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

$this->email->set_newline("\r\n"); 

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

Pour votre information: Si vous utilisez gmail, son amende. Mais vous ne pouvez pas suivre l'erreur réelle toujours. Utilisez l'hôte de messagerie du serveur. Si quelque chose vous savez, c'est un problème de codage.

+0

je l'ai essayé mais obtenant toujours la même erreur –

+0

quelle est l'erreur? –

+0

Code d'état de sortie: 1 Impossible d'ouvrir une socket vers Sendmail. Veuillez vérifier les paramètres. Impossible d'envoyer un courrier électronique en utilisant PHP Sendmail. Votre serveur peut ne pas être configuré pour envoyer du courrier en utilisant cette méthode. –