mohsen
mohsen

Reputation: 57

config email library for send email in codeigniter

I have a code in controller codeigniter framework as follows :

class Welcome extends CI_Controller {
public function index()
{
    $this->load->view('welcome_message');

    $this->load->library('email'); 
    $this->email->from('[email protected]', 'example');
    $this->email->to('[email protected]','example');
    $this->email->subject('my Subject');
    $this->email->message('my Message');

    if ($this->email->send())
        echo "Mail Sent!";
    else
        echo "There is error in sending mail!";    
    }
}

This code correctly sends email . but when that i am config email class setting , this code not work and not send email . for example follow code will not send email :

class Welcome extends CI_Controller {
public function index()
{
    $this->load->view('welcome_message');

    $this->load->library('email'); 
    $this->email->from('[email protected]', 'example');
    $this->email->to('[email protected]','example');
    $this->email->subject('my Subject');
    $this->email->message('my Message');

    $config['protocol'] = 'sendmail';
    $config['charset'] = 'iso-8859-1';
    $config['wordwrap'] = TRUE;
    $this->email->initialize($config);

    if ($this->email->send())
        echo "Mail Sent!";
    else
        echo "There is error in sending mail!";    
    }
}

Please tell me where is the problem . thanks .

Upvotes: 0

Views: 446

Answers (1)

Poonam
Poonam

Reputation: 549

Protocol can be Sendmail, SMTP and mail.

You should load library after configuration:

$config = Array(
    'protocol' => 'smtp',
    'smtp_host' => 'ssl://smtp.googlemail.com',
    'smtp_port' => 465,
    'smtp_user' => 'xxx',
    'smtp_pass' => 'xxx',
    'mailtype'  => 'html', 
    'charset'   => 'iso-8859-1'
);

$this->load->library('email', $config);
$this->email->set_newline("\r\n");

$this->email->from('[email protected]', 'example');
$this->email->to('[email protected]','example');
$this->email->subject('my Subject');
$this->email->message('my Message');

if ($this->email->send())
{
    echo "Mail Sent!";
}
else
{
    echo "There is error in sending mail!";    
}

Upvotes: 1

Related Questions