компонент электронной почты - PullRequest
0 голосов
/ 12 ноября 2010

Первый раз, используя компонент электронной почты ... Я следовал инструкции книги и установил

function sendNewUserMail($id) {
    $User = $this->User->read(null,$id);
    $this->Email->to = array('MyEmai@gmail.com'); 
    $this->Email->from = 'MyEmai@gmail.com';
    $this->Email->subject = 'Welcome to our really cool thing';
    $this->Email->template = 'simple_message'; 

    $this->Email->sendAs = 'text'; 
    $this->Email->smtpOptions = array(
        'port'=>'465', 
        'timeout'=>'30',
        'auth' => true,
        'host' => 'ssl://smtp.gmail.com',
        'username'=>'MyEmail@gmail.com',
        'password'=>'*********'   
    );
    $this->set('User', $User);
    $this->Email->delivery = 'smtp';
    $this->Email->send();
    $this->set('smtp_errors', $this->Email->smtpError);
 }

Я пытаюсь запустить метод, но ничего не происходит ... Я создал макеты, элементы и положил var $component = array('Email');

Я получаю эту ошибку

Невозможно найти транспортный сокет "ssl" - вы забыли включить это когда вы настраивали PHP ?: 16

кстати я дома, так что никаких брандмауэров, никаких блокировок и т. Д.

1 Ответ

0 голосов
/ 12 ноября 2010

Gmail smtp требует безопасного соединения, и похоже, что в вашей конфигурации PHP не включен ssl.Откройте php.ini и найдите строку, которая выглядит как

;extension=php_openssl.dll

или

#extension=openssl.so

и раскомментируйте ее (удалите; или #), затем перезапустите PHP.

Если вы не можете найти такую ​​строку там, вам может понадобиться сначала установить OpenSSL.

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