Согласно документам CI ( Библиотека электронной почты CodeIgniter ) ...
Если вы предпочитаете не устанавливать предпочтения с помощью вышеуказанного метода, вы можете
вместо этого поместите их в файл конфигурации. Просто создайте новый файл с именем
email.php, добавьте массив $ config в этот файл. Затем сохраните файл
в config / email.php, и он будет использоваться автоматически. Ты не будешь
необходимо использовать функцию $ this-> email-> initialize (), если вы сохраняете
настройки в конфигурационном файле.
Мне удалось заставить это работать, поместив все настройки в application / config / email.php .
$config['useragent'] = 'CodeIgniter';
$config['protocol'] = 'smtp';
//$config['mailpath'] = '/usr/sbin/sendmail';
$config['smtp_host'] = 'ssl://smtp.googlemail.com';
$config['smtp_user'] = 'YOUREMAILHERE@gmail.com';
$config['smtp_pass'] = 'YOURPASSWORDHERE';
$config['smtp_port'] = 465;
$config['smtp_timeout'] = 5;
$config['wordwrap'] = TRUE;
$config['wrapchars'] = 76;
$config['mailtype'] = 'html';
$config['charset'] = 'utf-8';
$config['validate'] = FALSE;
$config['priority'] = 3;
$config['crlf'] = "\r\n";
$config['newline'] = "\r\n";
$config['bcc_batch_mode'] = FALSE;
$config['bcc_batch_size'] = 200;
Затем в одном из методов контроллера у меня есть что-то вроде:
$this->load->library('email'); // Note: no $config param needed
$this->email->from('YOUREMAILHERE@gmail.com', 'YOUREMAILHERE@gmail.com');
$this->email->to('SOMEEMAILHERE@gmail.com');
$this->email->subject('Test email from CI and Gmail');
$this->email->message('This is a test.');
$this->email->send();
Также, как писал Cerebro, мне пришлось раскомментировать эту строку в моем файле php.ini и перезапустить PHP:
extension=php_openssl.dll