olegopro/imap-php-proxy

dev-main 2022-10-21 22:27 UTC

This package is auto-updated.

Last update: 2024-09-22 02:36:57 UTC


README

此模块允许通过代理连接到IMAP协议。

优点

  • 模块非常灵活,您可以替换任何元素为自定义版本(ResponseContainer、Parser、Commander、实现自己的代理类型)。实现自己的代理类型。
  • 实现了Socks5和Https代理。
  • 实现了通过代理服务器(Socks5和Https)进行授权。

要在您的项目中使用,请在composer.json中添加以下代码

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/olegopro/imap-php-proxy.git"
           
        }
    ],
    "require": {
        "olegopro/imap-php-proxy": "dev-master"
    }

使用方法

// Этот объект содержит все успешные и ошибочные действия
$responseContainer = \ImapConnector\Containers\ResponseContainer::getInstance();

$connector = new \ImapConnector\Connector($responseContainer);

// Этот объект предназначен для разбора ответа imap 
$parser = new \ImapConnector\Parsers\Parser();

// Экземпляр прокси Socks 5
$socks5Proxy = new \ImapConnector\Proxies\Socks5Proxy($responseContainer, "ip", 'port');

// Подключение к прокси (если вы пропустите эту строку, скрипт будет подключаться к imap напрямую, без прокси)
$connector->connectToProxy($socks5Proxy);

// Здесь мы получаем поток, который идет через прокси (Вы можете использовать этот поток в своем собственном порядк)
$stream = $connector->connectToImap("imap_host", 'imap_port', 'proxy_name', 'proxy_pass');

// Здесь мы проверяем, успешно ли мы подключились к imap
if(is_resource($stream)) {

    // Здесь мы создаем обработчик комманд и передаем поток
    $commander = new \ImapConnector\Commander($stream, $parser, $responseContainer);

    // Вход через imap
    if($commander->login("login", "password")){
        echo "Success!";
    }

}