c /** * Opens an IMAP stream to a mailbox. * * This function can also be used to open streams to POP3 and * NNTP servers, but some functions and features are only * available on IMAP servers. * * @param string $mailbox A mailbox name consists of a server and a mailbox path on this server. * The special name INBOX stands for the current users * personal mailbox. Mailbox names that contain international characters * besides those in the printable ASCII space have to be encoded with * imap_utf7_encode. * * The server part, which is enclosed in '{' and '}', consists of the servers * name or ip address, an optional port (prefixed by ':'), and an optional * protocol specification (prefixed by '/'). * * The server part is mandatory in all mailbox * parameters. * * All names which start with { are remote names, and are * in the form "{" remote_system_name [":" port] [flags] "}" * [mailbox_name] where: * * * * remote_system_name - Internet domain name or * bracketed IP address of server. * * * * * port - optional TCP port number, default is the * default port for that service * * * * * flags - optional flags, see following table. * * * * * mailbox_name - remote mailbox name, default is INBOX * * * * * * Optional flags for names * * * * Flag * Description * * * * * /service=service * mailbox access service, default is "imap" * * * /user=user * remote user name for login on the server * * * /authuser=user * remote authentication user; if specified this is the user name * whose password is used (e.g. administrator) * * * /anonymous * remote access as anonymous user * * * /debug * record protocol telemetry in application's debug log * * * /secure * do not transmit a plaintext password over the network * * * /imap, /imap2, * /imap2bis, /imap4, * /imap4rev1 * equivalent to /service=imap * * * /pop3 * equivalent to /service=pop3 * * * /nntp * equivalent to /service=nntp * * * /norsh * do not use rsh or ssh to establish a preauthenticated IMAP * session * * * /ssl * use the Secure Socket Layer to encrypt the session * * * /validate-cert * validate certificates from TLS/SSL server (this is the default * behavior) * * * /novalidate-cert * do not validate certificates from TLS/SSL server, needed if * server uses self-signed certificates * * * /tls * force use of start-TLS to encrypt the session, and reject * connection to servers that do not support it * * * /notls * do not do start-TLS to encrypt the session, even with servers * that support it * * * /readonly * request read-only mailbox open (IMAP only; ignored on NNTP, and * an error with SMTP and POP3) * * * * * @param string $username The user name * @param string $password The password associated with the username * @param int $options The options are a bit mask with one or more of * the following: * * * * OP_READONLY - Open mailbox read-only * * * * * OP_ANONYMOUS - Don't use or update a * .newsrc for news (NNTP only) * * * * * OP_HALFOPEN - For IMAP * and NNTP names, open a connection but * don't open a mailbox. * * * * * CL_EXPUNGE - Expunge mailbox automatically upon mailbox close * (see also imap_delete and * imap_expunge) * * * * * OP_DEBUG - Debug protocol negotiations * * * * * OP_SHORTCACHE - Short (elt-only) caching * * * * * OP_SILENT - Don't pass up events (internal use) * * * * * OP_PROTOTYPE - Return driver prototype * * * * * OP_SECURE - Don't do non-secure authentication * * * * @param int $n_retries Number of maximum connect attempts * @param array|null $params Connection parameters, the following (string) keys maybe used * to set one or more connection parameters: * * * * DISABLE_AUTHENTICATOR - Disable authentication properties * * * * @return resource Returns an IMAP stream on success. * @throws ImapException * */ .' . '/sabre/event/lib/Loop/Loop.php', 'Sabre\\Event\\Promise' => __DIR__ . '/..' . '/sabre/event/lib/Promise.php', $output .= sprintf("\n%s%s%s", $prefix, str_repeat(' ', $this->indentation), $row); } continue; } if ($inline - 1 <= 0 || null === $value->getValue() || \is_scalar($value->getValue())) { $output .= ' '.$this->dump($value->getValue(), $inline - 1, 0, $flags)."\n"; } else { $output .= "\n"; $output .= $this->dump($value->getValue(), $inline - 1, $dumpAsMap ? $indent + $this->indentation : $indent + 2, $flags); } continue; } $dumpObjectAsInlineMap = true; if (Yaml::DUMP_OBJECT_AS_MAP & $flags && ($value instanceof \ArrayObject || $value instanceof \stdClass)) { $dumpObjectAsInlineMap = empty((array) $value); } $willBeInlined = $inline - 1 <= 0 || !\is_array($value) && $dumpObjectAsInlineMap || empty($value); $output .= sprintf('%s%s%s%s', $prefix, $dumpAsMap ? Inline::dump($key, $flags).':' : '-', $willBeInlined ? ' ' : "\n", $this->dump($value, $inline - 1, $willBeInlined ? 0 : $indent + $this->indentation, $flags) ).($willBeInlined ? "\n" : ''); } } return $output; } private function dumpTaggedValue(TaggedValue $value, int $inline, int $indent, int $flags, string $prefix): string { $output = sprintf('%s!%s', $prefix ? $prefix.' ' : '', $value->getTag()); if (Yaml::DUMP_MULTI_LINE_LITERAL_BLOCK & $flags && \is_string($value->getValue()) && str_contains($value->getValue(), "\n") && !str_contains($value->getValue(), "\r\n")) { $blockIndentationIndicator = $this->getBlockIndentationIndicator($value->getValue()); $output .= sprintf(' |%s', $blockIndentationIndicator); foreach (explode("\n", $value->getValue()) as $row) { $output .= sprintf("\n%s%s%s", $prefix, str_repeat(' ', $this->indentation), $row); } return $output; } if ($inline - 1 <= 0 || null === $value->getValue() || \is_scalar($value->getValue())) { return $output.' '.$this->dump($value->getValue(), $inline - 1, 0, $flags)."\n"; } return $output."\n".$this->dump($value->getValue(), $inline - 1, $indent, $flags); } private function getBlockIndentationIndicator(string $value): string { $lines = explode("\n", $value); // If the first line (that is neither empty nor contains only spaces) // starts with a space character, the spec requires a block indentation indicator // http://www.yaml.org/spec/1.2/spec.html#id2793979 foreach ($lines as $line) { if ('' !== trim($line, ' ')) { return (' ' === substr($line, 0, 1)) ? (string) $this->indentation : ''; } } return ''; } }
Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.