当前位置: 首页>>代码示例>>PHP>>正文


PHP resource::enableCrypto方法代码示例

本文整理汇总了PHP中resource::enableCrypto方法的典型用法代码示例。如果您正苦于以下问题:PHP resource::enableCrypto方法的具体用法?PHP resource::enableCrypto怎么用?PHP resource::enableCrypto使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在resource的用法示例。


在下文中一共展示了resource::enableCrypto方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: auth

 /**
  * Attempt to do SMTP authentication.
  *
  * @param string $uid    The userid to authenticate as.
  * @param string $pwd    The password to authenticate with.
  * @param string $method The requested authentication method.  If none is
  *                       specified, the best supported method will be used.
  * @param bool   $tls    Flag indicating whether or not TLS should be attempted.
  * @param string $authz  An optional authorization identifier.  If specified, this
  *                       identifier will be used as the authorization proxy.
  *
  * @return mixed Returns a PEAR_Error with an error message on any
  *               kind of failure, or true on success.
  * @since 1.0
  */
 public function auth($uid, $pwd, $method = '', $tls = true, $authz = '')
 {
     /* We can only attempt a TLS connection if one has been requested,
      * we're running PHP 5.1.0 or later, have access to the OpenSSL
      * extension, are connected to an SMTP server which supports the
      * STARTTLS extension, and aren't already connected over a secure
      * (SSL) socket connection. */
     if ($tls && version_compare(PHP_VERSION, '5.1.0', '>=') && extension_loaded('openssl') && isset($this->esmtp['STARTTLS']) && strncasecmp($this->host, 'ssl://', 6) !== 0) {
         /* Start the TLS connection attempt. */
         if (PEAR::isError($result = $this->put('STARTTLS'))) {
             return $result;
         }
         if (PEAR::isError($result = $this->parseResponse(220))) {
             return $result;
         }
         if (PEAR::isError($result = $this->socket->enableCrypto(true, STREAM_CRYPTO_METHOD_TLS_CLIENT))) {
             return $result;
         } elseif ($result !== true) {
             return PEAR::raiseError('STARTTLS failed');
         }
         /* Send EHLO again to recieve the AUTH string from the
          * SMTP server. */
         $this->negotiate();
     }
     if (empty($this->esmtp['AUTH'])) {
         return PEAR::raiseError('SMTP server does not support authentication');
     }
     /* If no method has been specified, get the name of the best
      * supported method advertised by the SMTP server. */
     if (empty($method)) {
         if (PEAR::isError($method = $this->getBestAuthMethod())) {
             /* Return the PEAR_Error object from _getBestAuthMethod(). */
             return $method;
         }
     } else {
         $method = strtoupper($method);
         if (!array_key_exists($method, $this->auth_methods)) {
             return PEAR::raiseError("{$method} is not a supported authentication method");
         }
     }
     if (!isset($this->auth_methods[$method])) {
         return PEAR::raiseError("{$method} is not a supported authentication method");
     }
     if (!is_callable($this->auth_methods[$method], false)) {
         return PEAR::raiseError("{$method} authentication method cannot be called");
     }
     if (is_array($this->auth_methods[$method])) {
         list($object, $method) = $this->auth_methods[$method];
         $result = $object->{$method}($uid, $pwd, $authz, $this);
     } else {
         $func = $this->auth_methods[$method];
         $result = $func($uid, $pwd, $authz, $this);
     }
     /* If an error was encountered, return the PEAR_Error object. */
     if (PEAR::isError($result)) {
         return $result;
     }
     return true;
 }
开发者ID:remicollet,项目名称:Net_SMTP,代码行数:74,代码来源:SMTP.php

示例2: cmdConnect

 /**
  * Attempt to connect to the IMAP server.
  *
  * @param string $host Hostname of the IMAP server
  * @param int    $port Port of the IMAP server (default = 143)
  *
  * @return mixed Returns a PEAR_Error with an error message on any
  *               kind of failure, or true on success.
  * @access public
  * @since  1.0
  */
 function cmdConnect($host = 'localhost', $port = 143)
 {
     if ($this->_connected) {
         return new PEAR_Error('already connected, logout first!');
     }
     if (PEAR::isError($error = $this->_socket->connect($host, $port, null, $this->_timeout, $this->_streamContextOptions))) {
         return $error;
     }
     if ($port == 993) {
         if (!$this->_socket->enableCrypto(true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) {
             return new PEAR_Error('Failed to set crypto');
         }
     }
     if (PEAR::isError($this->_getRawResponse())) {
         return new PEAR_Error('unable to open socket');
     }
     $this->_connected = true;
     return true;
 }
开发者ID:Dulciane,项目名称:jaws,代码行数:30,代码来源:IMAPProtocol.php

示例3: auth

 /**
  * Attempt to do SMTP authentication.
  *
  * @param string The userid to authenticate as.
  * @param string The password to authenticate with.
  * @param string The requested authentication method.  If none is
  *               specified, the best supported method will be used.
  * @param bool   Flag indicating whether or not TLS should be attempted.
  * @param string An optional authorization identifier.  If specified, this
  *               identifier will be used as the authorization proxy.
  *
  * @return mixed Returns a PEAR_Error with an error message on any
  *               kind of failure, or true on success.
  * @access public
  * @since  1.0
  */
 function auth($uid, $pwd, $method = '', $tls = true, $authz = '')
 {
     /* We can only attempt a TLS connection if one has been requested,
      * we're running PHP 5.1.0 or later, have access to the OpenSSL 
      * extension, are connected to an SMTP server which supports the 
      * STARTTLS extension, and aren't already connected over a secure 
      * (SSL) socket connection. */
     if ($tls && version_compare(PHP_VERSION, '5.1.0', '>=') && extension_loaded('openssl') && isset($this->_esmtp['STARTTLS']) && strncasecmp($this->host, 'ssl://', 6) !== 0) {
         /* Start the TLS connection attempt. */
         if (PEAR::isError($result = $this->_put('STARTTLS'))) {
             return $result;
         }
         if (PEAR::isError($result = $this->_parseResponse(220))) {
             return $result;
         }
         if (PEAR::isError($result = $this->_socket->enableCrypto(true, STREAM_CRYPTO_METHOD_TLS_CLIENT))) {
             return $result;
         } elseif ($result !== true) {
             return PEAR::raiseError('STARTTLS failed');
         }
         /* Send EHLO again to recieve the AUTH string from the
          * SMTP server. */
         $this->_negotiate();
     }
     if (empty($this->_esmtp['AUTH'])) {
         return PEAR::raiseError('SMTP server does not support authentication');
     }
     /* If no method has been specified, get the name of the best
      * supported method advertised by the SMTP server. */
     if (empty($method)) {
         if (PEAR::isError($method = $this->_getBestAuthMethod())) {
             /* Return the PEAR_Error object from _getBestAuthMethod(). */
             return $method;
         }
     } else {
         $method = strtoupper($method);
         if (!in_array($method, $this->auth_methods)) {
             return PEAR::raiseError("{$method} is not a supported authentication method");
         }
     }
     switch ($method) {
         case 'DIGEST-MD5':
             $result = $this->_authDigest_MD5($uid, $pwd, $authz);
             break;
         case 'CRAM-MD5':
             $result = $this->_authCRAM_MD5($uid, $pwd);
             break;
         case 'LOGIN':
             $result = $this->_authLogin($uid, $pwd);
             break;
         case 'PLAIN':
             $result = $this->_authPlain($uid, $pwd, $authz);
             break;
         default:
             $result = PEAR::raiseError("{$method} is not a supported authentication method");
             break;
     }
     /* If an error was encountered, return the PEAR_Error object. */
     if (PEAR::isError($result)) {
         return $result;
     }
     return true;
 }
开发者ID:dev-lav,项目名称:htdocs,代码行数:79,代码来源:SMTP.php

示例4: auth

 /**
  * Attempt to do SMTP authentication.
  *
  * @param string The userid to authenticate as.
  * @param string The password to authenticate with.
  * @param string The requested authentication method.  If none is
  *               specified, the best supported method will be used.
  *
  * @return mixed Returns a PEAR_Error with an error message on any
  *               kind of failure, or true on success.
  * @access public
  * @since  1.0
  */
 function auth($uid, $pwd, $method = '')
 {
     if (version_compare(PHP_VERSION, '5.1.0', '>=') && (isset($this->_esmtp['STARTTLS']) || $this->_esmtp['STARTTLS'] == true)) {
         if (PEAR::isError($result = $this->_put('STARTTLS'))) {
             return $result;
         }
         if (PEAR::isError($result = $this->_parseResponse(220))) {
             return $result;
         }
         if (PEAR::isError($result = $this->_socket->enableCrypto(true, STREAM_CRYPTO_METHOD_TLS_CLIENT))) {
             return $result;
         } elseif ($result !== true) {
             return PEAR::raiseError('STARTTLS failed');
         }
         /* Send EHLO again to recieve the AUTH string from the
          * SMTP server. */
         $this->_negotiate();
     }
     if (empty($this->_esmtp['AUTH'])) {
         return PEAR::raiseError('SMTP server does not support authentication');
     }
     /* If no method has been specified, get the name of the best
      * supported method advertised by the SMTP server. */
     if (empty($method)) {
         if (PEAR::isError($method = $this->_getBestAuthMethod())) {
             /* Return the PEAR_Error object from _getBestAuthMethod(). */
             return $method;
         }
     } else {
         $method = strtoupper($method);
         if (!in_array($method, $this->auth_methods)) {
             return PEAR::raiseError("{$method} is not a supported authentication method");
         }
     }
     switch ($method) {
         case 'DIGEST-MD5':
             $result = $this->_authDigest_MD5($uid, $pwd);
             break;
         case 'CRAM-MD5':
             $result = $this->_authCRAM_MD5($uid, $pwd);
             break;
         case 'LOGIN':
             $result = $this->_authLogin($uid, $pwd);
             break;
         case 'PLAIN':
             $result = $this->_authPlain($uid, $pwd);
             break;
         default:
             $result = PEAR::raiseError("{$method} is not a supported authentication method");
             break;
     }
     /* If an error was encountered, return the PEAR_Error object. */
     if (PEAR::isError($result)) {
         return $result;
     }
     return true;
 }
开发者ID:KingsleyGU,项目名称:OSTicket-Reloaded,代码行数:70,代码来源:SMTP.php


注:本文中的resource::enableCrypto方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。