URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5764
[ Назад ]

Исходное сообщение
"Socks In Perl"

Отправлено Raist , 01-Окт-06 19:25 
необходимо написать отправку писем через сокс сервер. Использую модуль Net::SOCKET:SOCKS
Судя по докуменатции он возвращает обьект который потом можно использовать как обычный обьект класса Net::SOCKET. Тоесть я пишу (например)

       my $socket = new IO::Socket::Socks(ProxyAddr=>'192.1.1.1',
                                           ProxyPort=>'1111',
                                           ConnectAddr=>'microsoft.com',
                                           ConnectPort=>25,
                                           SocksDebug=>1);

        sysread ($socket,$buf,4096);
        print $buf;

И на экран должно вывести нечто вроде
220 Welcomo to Bill SMTP Server
Если конечно все нормально создалось (ну положим у нас есть проверка сокета на undef)
...Короче говоря нифига не работает :) Сокет создается, но ничего из него не читает  :((
Почему и что делать? Может этот модуль нормально не работает и нужно воспользоватся другим? Подскажите хотя бы в какую сторону копать плз....



Содержание

Сообщения в этом обсуждении
"Socks In Perl"
Отправлено Raist , 01-Окт-06 19:28 
Еще такой вариант, может сокс не может установить соединение с удаленным хостом? Или тогда бы вообще сокет не создался? Как это можно проверить вообще ?

"Socks In Perl"
Отправлено Kuzik , 30-Янв-07 10:04 
Ты коннектишься к билли на почту. Он ее не любит.
Поставь адрес реального сервера и сервиса.

>необходимо написать отправку писем через сокс сервер. Использую модуль Net::SOCKET:SOCKS
>Судя по докуменатции он возвращает обьект который потом можно использовать как обычный
>обьект класса Net::SOCKET. Тоесть я пишу (например)
>
>       my $socket = new IO::Socket::Socks(ProxyAddr=>'192.1.1.1',
>                                           ProxyPort=>'1111',
>                                           ConnectAddr=>'microsoft.com',
>                                           ConnectPort=>25,
>                                           SocksDebug=>1);
>
>        sysread ($socket,$buf,4096);
>        print $buf;
>
>И на экран должно вывести нечто вроде
>220 Welcomo to Bill SMTP Server
>Если конечно все нормально создалось (ну положим у нас есть проверка сокета
>на undef)
>...Короче говоря нифига не работает :) Сокет создается, но ничего из него
>не читает  :((
>Почему и что делать? Может этот модуль нормально не работает и нужно
>воспользоватся другим? Подскажите хотя бы в какую сторону копать плз....



"Socks In Perl"
Отправлено chertyaka , 12-Май-07 00:10 
А кто скажет как реализовать подключение через socks proxy?
Вот создал я $socket через проксю на 110 порт pop.mailserver.com, а дальше?
1) Как послать USER vasya и PASS passw0rd через этот $socket и прочитать ответ от сервера? Пробовал слать таким образом:
print $socket "USER vasya\n"; sysread ($socket,$buf,4096); - не прокатывает (или я чего-то не так делаю).
2) Решил использовать my $receiver = Mail::Transport::POP3->new(...) для верности. И снова тупик. А как вот этот $receiver пропихнуть через $socket?

>>необходимо написать отправку писем через сокс сервер. Использую модуль Net::SOCKET:SOCKS
>>Судя по докуменатции он возвращает обьект который потом можно использовать как обычный
>>обьект класса Net::SOCKET. Тоесть я пишу (например)
>>
>>       my $socket = new IO::Socket::Socks(ProxyAddr=>'192.1.1.1',
>>                                           ProxyPort=>'1111',
>>                                           ConnectAddr=>'microsoft.com',
>>                                           ConnectPort=>25,
>>                                           SocksDebug=>1);
>>
>>        sysread ($socket,$buf,4096);
>>        print $buf;
>>