2016-08-01 17 views
1

Ich schreibe den folgenden Code, um E-Mails von meinem localhost zu senden. Es funktioniert gut auf meinem localhost, aber als ich die Datei auf den Server hochgeladen habe, funktioniert es nicht mehr. Im Anschluss ist mein Code:PHP Codeigniter - E-Mail-Funktion funktioniert nicht auf Server

public function Sent_Confirmation_Email() 
     { 
     $emailid = $this->uri->segment(3); 

     $verificationLink = base_url() . 'MainController/Confirm_Activation/'.$emailid; 

     $msg .= "Thank you for creating an account with us.<br /><br /><br />"; 
     $msg .= " Please <a href='".$verificationLink."' target='_blank'>Click Here</a> to verify your email.<br /><br /><br />"; 
     $msg .= "Kind regards,<br />"; 
     $msg .= "Real Animation Works."; 


     if(! ini_get('date.timezone')) 
     { 
     date_default_timezone_set('GMT'); 
     }   

     $config = Array('protocol' => 'smtp', 
         'smtp_host' => 'ssl://smtp.googlemail.com', 
         'smtp_port' => 465, 
         'smtp_user' => '[email protected]', 
         'smtp_pass' => 'mypassword' 
     ); 

     $this->load->library('email',$config); 
     $this->email->set_newline("\r\n"); 
     $this->email->set_mailtype("html"); 
     //$this->email->isHTML(true); 
     $this->email->from("[email protected]"); 
     $this->email->to("$emailid"); 
     $this->email->subject("Email Confirmation - Courses and Tutors"); 
     $this->email->message($msg); 

     if($this->email->send()) 
     { 
     $this->session->set_flashdata('msg', 'A confirmation email has been sent to ' . $emailid .'. Please activate your account using the link provided.'); 
     redirect(base_url() . 'MainController/EConfirmationPage/'.$emailid); 
     } else { 
     show_error($this->email->print_debugger()); 
     } 
     } 

der Screenshot des Fehlers Es folgt, die ich bekomme, wenn ich den Code ausführen:

enter image description here

enter image description here

+0

Von Ihrem angehängten Bild sagt es "Passwort konnte nicht authentifiziert werden". Hast du das überprüft? –

Antwort

0

wie Try this

function Sent_Confirmation_Email() 
{ 
    $this->load->library('email'); # Added 

    $emailid = $this->uri->segment(3); 

    $verificationLink = base_url() . 'MainController/Confirm_Activation/'.$emailid; 

    $msg .= "Thank you for creating an account with us.<br /><br /><br />"; 
    $msg .= " Please <a href='".$verificationLink."' target='_blank'>Click Here</a> to verify your email.<br /><br /><br />"; 
    $msg .= "Kind regards,<br />"; 
    $msg .= "Real Animation Works."; 


    if(! ini_get('date.timezone')) 
    { 
     date_default_timezone_set('GMT'); 
    }   

    $config['protocol'] = 'smtp'; 
    $config['smtp_host'] = 'ssl://smtp.googlemail.com'; 
    $config['smtp_port'] = '465'; 
    $config['smtp_user'] = '[email protected]'; 
    $config['smtp_pass'] = 'password'; 
    $config['charset'] = 'iso-8859-1'; # Added 
    $config['mailtype'] = 'html'; # Added 
    $config['wordwrap'] = TRUE; 

    $this->email->initialize($config); # Added 
    $this->email->set_newline("\r\n"); 

    $this->email->from("[email protected]"); 
    $this->email->to($emailid); # Changed 
    $this->email->subject("Email Confirmation - Courses and Tutors"); 
    $this->email->message($msg); 

    if(!$this->email->send()) # Changed 
    { 
     echo $this->email->print_debugger(); 
    } 
    else 
    { 
     $this->session->set_flashdata('msg', 'A confirmation email has been sent to ' . $emailid .'. Please activate your account using the link provided.'); 
     redirect(base_url() . 'MainController/EConfirmationPage/'.$emailid); # Not sure in this part. 
    } 
}