• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/imap.php
  • Класс: BitrixMailImap
  • Вызов: Imap::starttls
protected function starttls(&$error)
{
	$error = null;

	if (!$this->sessState)
	{
		$error = $this->errorMessage(Imap::ERR_STARTTLS);
		return false;
	}

	$response = $this->executeCommand('STARTTLS', $error);

	if ($error)
	{
		$error = $error == Imap::ERR_COMMAND_REJECTED ? null : $error;
		$error = $this->errorMessage(array(Imap::ERR_STARTTLS, $error), $response);

		return false;
	}

	if (stream_socket_enable_crypto($this->stream, true, STREAM_CRYPTO_METHOD_ANY_CLIENT))
	{
		if (!$this->capability($error))
		{
			return false;
		}
	}
	else
	{
		$this->reset();

		$error = $this->errorMessage(Imap::ERR_STARTTLS);
		return false;
	}

	return true;
}