Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

SMTP Socket PHP. Нужно подключить к SMTP через прокси, как это можно сделать? на языке php.

Иван Усенков Мастер (1873), на голосовании 13 лет назад
Дополнен 13 лет назад
Всё ответ найден. Вот функция, после её вызова можно работать как с обычной соксой открытой fsockopen
function socks_connect($host, $port, $dh, $dp) //адрес скоса, порт сокса, адрес сайта, порт сайта.
{
$result=true;
$f = fsockopen($host, $port, $er, $err, 10) or $result=false;
if($result)
{
$h = gethostbyname($dh);
preg_match("#(\d+)\.(\d+)\.(\d+)\.(\d+)#", $h, $m);
fwrite($f, "\x05\x01\x00");
$r = fread($f, 2);
if(!(ord($r[0])==5 and ord($r[1])==0)) $result=false;
if($result)
{
fwrite($f, "\x05\x01\x00\x01" . chr($m[1]).chr($m[2]).chr($m[3]).chr($m[4]).chr($dp/256).chr($dp%6));
$r = fread($f, 10);
if(!(ord($r[0])==5 and ord($r[1])==0))
return false;
else
return $f;
}
else
return $result;
}
else
return $result;
}
Голосование за лучший ответ
sm Просветленный (32514) 13 лет назад
"Приличный" SMTP-сервер не примет коннект от липового прокси.
А к "неприличному" можно и безо всякого прокси обращаться.
Иван УсенковМастер (1873) 13 лет назад
Подборка прокси это решаемый вопрос.
Иван УсенковМастер (1873) 13 лет назад
причём прокси не "липовый" просто стоит сервер который выдаёт инет на все компы, через него надо будет пускать сокеты.
sm Просветленный (32514) > просто стоит сервер Сервер "просто стоять" не может. У сервера должны быть строго определенные им выполняемые ф-ции. Если речь идет о "прокси", то следует четко представлять себе протоколы им поддерживаемые.
Похожие вопросы