2017-06-08 5 views
1

J'essaye d'envoyer l'email par l'intermédiaire de la forme de bibliothèque d'email de Codeigniter localhost. Voici mon code.Erreur d'envoi de courrier dans codeigniter

$config = Array(
    'protocol' => 'smtp', 
    'smtp_host' => 'ssl://smtp.googlemail.com', 
    'smtp_port' => 465, 
    'smtp_user' => '[email protected]', 
    'smtp_pass' => 'xxxxxx', 
    ); 
    $this->load->library('email', $config); 
    $this->email->set_newline("\r\n"); 
    $this->email->from('[email protected]'); 
    $this->email->to('[email protected]'); 
    $this->email->subject('Subject'); 
    $this->email->message('Sample message'); 
    if (!$this->email->send()) 
    { 
     show_error($this->email->print_debugger()); 
    } 
    else 
    { 
     echo 'Your e-mail has been sent!'; 
    } 

Je reçois des erreurs suivantes: -

Impossible d'envoyer un courriel en utilisant PHP mail(). Votre serveur peut ne pas être configuré pour envoyer du courrier en utilisant cette méthode. &

Gravité: Avertissement

Message: mail(): Impossible de se connecter à MailServer au paramètre "localhost" port 25, vérifiez votre "SMTP" et "smtp_port" dans php.ini ou utilisez ini_set()

Nom du fichier: bibliothèques/email.php

Numéro de ligne: 1896

Backtrace:

Fichier: D: \ xampp \ htdocs \ ajax \ Application \ contrôleurs \ angular_http.php ligne: 29 Fonction: envoyer

fichier: D: \ xampp \ htdocs \ ajax \ index.php ligne: 315 Fonction: require_once

Répondre

0

Je pense que vous n'êtes pas encore configuré serveur de messagerie. Si vous utilisez XAMPP, vous pouvez facilement envoyer des messages depuis localhost. Par exemple, vous pouvez configurer (en prenant en compte 'C: \ xampp' comme répertoire d'installation) C: \ xampp \ php \ php.ini et c: \ xampp \ sendmail \ sendmail.ini pour que gmail puisse envoyer du courrier. Dans C: \ xampp \ php \ php.ini trouver l'extension = php_openssl.dll et supprimer le point-virgule au début de cette ligne pour que SSL fonctionne pour gmail pour localhost.

dans le fichier php.ini trouver [fonction mail] et changer

SMTP=smtp.gmail.com 
smtp_port=587 
sendmail_from = [email protected] 
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 

Ouvert C: \ xampp \ sendmail \ sendmail.ini. Remplacez tout le code existant dans sendmail.ini avec le code suivant

[sendmail] 

smtp_server=smtp.gmail.com 
smtp_port=587 
error_logfile=error.log 
debug_logfile=debug.log 
[email protected] 
auth_password=my-gmail-password 
[email protected] 

Tout d'abord, assurez-vous d'installation PHP supporte SSL (rechercher une section "OpenSSL" dans la sortie de phpinfo()).

Vous pouvez définir les paramètres suivants dans votre php.ini:

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

S'il vous plaît venez avec pile que vous utilisez sur localhost, Si vous ne l'utilisez XAMPP ou WAMP.

+0

Maintenant, en utilisant ce paramètre, les erreurs ont disparu, mais le courrier n'envoie pas encore. –

+0

Veuillez vérifier que le port 25 est ouvert. –