Helper\Mailer\Smtp::socketSecurity PHP Method

socketSecurity() protected method

建立到服务器的SSL网络连接
protected socketSecurity ( ) : boolean
return boolean
    protected function socketSecurity()
    {
        $remoteAddr = "tcp://" . $this->_sendServer . ":" . $this->_port;
        $this->_socket = stream_socket_client($remoteAddr, $errno, $errstr, 30);
        if (!$this->_socket) {
            $this->_errorMessage = $errstr;
            return false;
        }
        //设置加密连接,默认是ssl,如果需要tls连接,可以查看php手册stream_socket_enable_crypto函数的解释
        stream_socket_enable_crypto($this->_socket, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
        stream_set_blocking($this->_socket, 1);
        //设置阻塞模式
        $str = fread($this->_socket, 1024);
        if (!preg_match("/220+?/", $str)) {
            $this->_errorMessage = $str;
            return false;
        }
        return true;
    }