Настройка электронной почты в Code Igniter 2.02 - PullRequest
6 голосов
/ 27 июня 2011

Я получаю много ошибок.И я попробовал несколько предложений на разных сайтах, удалил родительскую функцию, удалил массив, обновил мой php ini-файл, не повезло.Это первая из 13 ошибок, которые я получаю.

Обнаружена ошибка PHP. Серьезность: Предупреждение: fsockopen () [function.fsockopen]: невозможно подключиться к ssl: //smtp.googlemail.com: 465 (Не удалось найти транспортный сокет «ssl» - вы забыли включить его при настройке PHP?) Имя файла: library / Email.php Номер строки: 1673

Кто-то, пожалуйста, помогите.

class Email extends CI_Controller
{
function index()
{
        $config['protocol'] = 'smtp';
        $config['smtp_host'] = 'ssl://smtp.googlemail.com';
        $config['smtp_port'] = 465;
        $config['smtp_user'] = 'myemail@gmail.com';
        $config['smtp_pass'] = 'mypassword';

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

    $this->email->from('myemail@gmail.com', 'My Name');
    $this->email->to('myemail@gmail.com');
    $this->email->subject('This is an email test');
    $this->email->message('Its working. Great!');

    if($this->email->send())
    {
        echo 'Your email was sent, dude.';
    }

    else
    {
        show_error($this->email->print_debugger());
    }
}

}

Ответы [ 2 ]

10 голосов
/ 27 июня 2011

Используйте phpinfo ();оператор в файле .php, чтобы проверить, действительно ли загружено расширение openssl.

В вашем php.ini включите php_openssl

extension=php_openssl.so

, если вы в Windows, тогда

extension=php_openssl.dll
0 голосов
/ 23 марта 2012

Mayowa:

Возможно, я немного опоздал, и вы уже решили эту проблему.

После поиска в Интернете я обнаружил, что для конфигурации почты простые кавычки и двойные кавычкине то же самое.

Я использую файл /application/config/email.php и после многих попыток я обнаружил, что это не будет работать:

$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.googlemail.com';
$config['smtp_port'] = 465;
$config['smtp_user'] = 'myemail@gmail.com';
$config['smtp_pass'] = 'mypassword';

Но это будет:

$config['protocol'] = "smtp";
$config['smtp_host'] = "ssl://smtp.googlemail.com";
$config['smtp_port'] = 465;
$config['smtp_user'] = "myemail@gmail.com";
$config['smtp_pass'] = "mypassword";

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...