Send email by Email Class in codeigniter with Gmail

16,046

this is what worked for me

$email_config = Array(
            'protocol'  => 'smtp',
            'smtp_host' => 'ssl://smtp.googlemail.com',
            'smtp_port' => '465',
            'smtp_user' => '[email protected]',
            'smtp_pass' => 'password',
            'mailtype'  => 'html',
            'starttls'  => true,
            'newline'   => "\r\n"
        );

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

        $this->email->from('[email protected]', 'invoice');
        $this->email->to('[email protected]');
        $this->email->subject('Invoice');
        $this->email->message('Test');

        $this->email->send();
Share:
16,046

Related videos on Youtube

jennifer Jolie
Author by

jennifer Jolie

Updated on June 04, 2022

Comments

  • jennifer Jolie
    jennifer Jolie almost 2 years

    I want send a email by Email Class in codeigniter with gmail, but i get following error:

    Error:

    A PHP Error was encountered
    Severity: Warning
    Message: mail() [function.mail]: Failed to connect to mailserver at "ssl://smtp.googlemail.com" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
    Filename: libraries/Email.php
    Line Number: 1553

    This is my full function in controll:

    function send_mail(){
    $config['protocol'] = 'smtp';
    $config['smtp_host'] = 'ssl://smtp.googlemail.com';
    $config['smtp_port'] = 465;
    $config['smtp_user'] = '[email protected]';
    $config['smtp_pass'] = 'xxxxxxx';
    
    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");
    
    $this->email->from('[email protected]', 'Negin Phosphate Shomal');
    $this->email->to('[email protected]');
    $this->email->subject('This is an email test');
    $this->email->message('It is working. Great!');
    
    if($this->email->send())
    {
        echo 'Your email was sent, successfully.';
    }
    
    else
    {
        show_error($this->email->print_debugger());
    }
    }
    

    I changed SMTP in php.ini as this:

    SMTP = ssl://smtp.googlemail.com
    smtp_port = 25

    What do i do?

    With respect

  • Luis Martin
    Luis Martin over 11 years
    Does that 'starttls' config parameter exist?? It's not listed in the documentation. In fact I haven't seen it in the CI_Email class of Codeigniter 2.0
  • Flakron Bytyqi
    Flakron Bytyqi over 11 years
    Now that you mention, I searched but no usage in the framework was found