PHP SwiftMailer: отправка электронной почты с помощью SMTP дает «сбой операции SSL», когда включен startTLS

Я хочу отправить электронную почту, используя SwiftMailer(v5.4.1) библиотеку в Yii1(1.1.17). вот моя конфигурация компонента рассылки в main.php(файл конфигурации):

'mailer' => array(
            'class' => 'application.components.SwiftMailer',
            'host' => 'XX.XX.XX.XX',
            'type' => 'smtp',
            'port' => 587,
            'username' => 'username',
            'password' => 'password',
            'fromName' => 'sample_name',
            'fromAddress' => 'sample_email',
            'security' => 'tls',
        ),

Почтовый сервер и сервер приложений находятся во внутренней сети нашей компании.
Когда я пытаюсь отправить электронное письмо, я получаю это предупреждение.
Я хочу узнать причину и отправить электронное письмо после успешного рукопожатия с сервером с использованием startTLS (это включено на сервере, заверено сетевым менеджером).

stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

/home/mohammad/workspace/ir.wsi.recruitment/protected/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php(95)

083                 case 'blocking':
084                     if ($this->_stream) {
085                         stream_set_blocking($this->_stream, 1);
086                     }
087 
088             }
089         }
090         $this->_params[$param] = $value;
091     }
092 
093     public function startTLS()
094     {
095 main error:     return stream_socket_enable_crypto($this->_stream, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
096     }
097 
098     /**
099      * Perform any shutdown logic needed.
100      */
101     public function terminate()
102     {
103         if (isset($this->_stream)) {
104             switch ($this->_params['type']) {
105                 case self::TYPE_PROCESS:
106                     fclose($this->_in);
107                     fclose($this->_out);

Stack Trace
#0  
–
 /home/mohammad/workspace/ir.wsi.recruitment/protected/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php(95): stream_socket_enable_crypto(resource, true, 9)

090         $this->_params[$param] = $value;
091     }
092 
093     public function startTLS()
094     {
095         return stream_socket_enable_crypto($this->_stream, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
096     }
097 
098     /**
099      * Perform any shutdown logic needed.
100      */

person Mohammad Eghlima    schedule 07.02.2016    source источник
comment
Я нашел этот ответ (stackoverflow .com/questions/26827192/), но это для чисто почтовой функции, а не для SwiftMailer в yii, но весьма полезно!   -  person Mohammad Eghlima    schedule 08.02.2016