public function discovery($params) {
		if (is_string($params)) {
			$params = array('email' => $params);
		}
		else {
			$params = $this->_filterParams($params, array('email'), array('email'));
			if ($params === false) {
				throw new InvalidArgumentException("params array contains invalid parameters or misses required parameters");
			}
		}
		return $this->get(null, 'discovery?source_type=imap&email=' . rawurlencode($params['email']));
	}
public function discovery($params) {
		if (is_string($params)) {
			$params = array('email' => $params);
		}
		else {
			$params = $this->_filterParams($params, array('email'), array('email'));
			if ($params === false) {
				throw new InvalidArgumentException("params array contains invalid parameters or misses required parameters");
			}
		}
		return $this->get(null, 'discovery?source_type=imap&email=' . rawurlencode($params['email']));
	}
public function discovery ( $ params ) { if ( is_string ( $ params ) ) { $ params = array ( 'email' => $ params ) ; } else { $ params = $ this -> _filterParams ( $ params , array ( 'email' ) , array ( 'email' ) ) ; if ( $ params === false ) { throw new InvalidArgumentException ( "params array contains invalid parameters or misses required parameters" ) ; } } return $ this -> get ( null , 'discovery?source_type=imap&email=' . rawurlencode ( $ params [ 'email' ] ) ) ; }
Attempts to discover IMAP settings for a given email address

@param string|array  $params     either a string or assoc array with "email" as its key

@throws InvalidArgumentException

@return ContextIOResponse
Attempts to discover IMAP settings for a given email address