Цель: создание класса для подключения к серверу IMAP
и отправки commands
Вот что я сделал:
- Class
connection
принимает host
, port
и необязательный timeout
в качестве параметров. - Определена функция
__constructor()
для создания нового соединения с использованием fsockopen()
. - Определена функция
command()
для предоставления команды для успешно подключенного сервера IMAP
.
Нет проблем с функцией __constructor()
. Но основная проблема связана с функцией command()
. Я не смог echo
какую-либо команду, полученную с сервера, после того, как дал команду входа в систему.
Весь этот процесс может быть бесполезен для установления соединений IMAP, но мне нужно научиться. Итак, пожалуйста, помогите мне и заранее спасибо.
Ниже приводится PHP Код
class connection {
public $pointer;
function __construct(...$args){
if (count($args) < 2){
echo "\033[01;31m Error: Insufficient number of arguments given \033[0m";
return;
}
elseif (count($args) == 2){
if (!(is_numeric($args[1]))){
echo "\033[01;31m Error: Invalid 2nd argument \033[0m";
die();
}
elseif (!(is_string($args[0]))){
echo "\033[01;31m Error: Invalid 1st argument \033[0m";
die();
}
else{
$fp = @fsockopen($args[0],$args[1]);
if (!($fp)){
echo "\033[01;31m Failed: Cannot connect to the host ".$args[0]." via port ".$args[1]."\033[0m";
die();
}
else{
echo "Success: Connection established to the host ".$args[0]." via port ".$args[1];
$this->pointer = $fp;
return $fp;
}
}
}
elseif (count($args) == 3){
if (!(is_numeric($args[1]))){
echo "\033[01;31m Error: Invalid 2nd argument given to function: __construct() of connection() \033[0m";
die();
}
elseif (!(is_string($args[0]))){
echo "\033[01;31m Error: Invalid 1st argument given to function: __construct() of connection() \033[0m";
die();
}
elseif (!(is_numeric($args[2]))){
echo "\033[01;31m Error: Invalid 3rd argument given to function: __construct() of connection() \033[0m";
die();
}
else{
$fp = @fsockopen($args[0],$args[1],$args[2]);
if (!($fp)){
echo "\033[01;31m Failed: Cannot connect to the host ".$args[0]." via port ".$args[1]."\033[0m";
die();
}
else{
echo "Success: Connection established to the host ".$args[0]." via port ".$args[1]."\n";
$this->pointer = $fp;
return $fp;
}
}
}
}
function command($string){
if (!(is_string($string))){
echo "\033[01;31m Error: Invalid argument given to function: command()\033[0m";
die();
}
else{
$send = fputs($this->pointer,$string);
$return = fgets($this->pointer);
echo $return;
}
}
}
$point = new connection("imap.gmail.com",993,30);
$point->command("a00001 login ****** ********");
?>