From: kikutani@... Date: 1999-05-08T03:16:35+09:00 Subject: [ruby-list:14166] Re: pop3 via firewall On Sat, 8 May 1999 00:56:55 +0900, Wakou Aoyama wrote: > > @proxy = Telnet.new( > > {"Host" => pop_proxy, > > "Timeout" => timeout, > > "Telnetmode" => FALSE} > > ) > > $B$A$g$C$H5$$K$J$C$?$N$G$9$,!"$3$l$GF0$$$F$$$k$N$G$7$g$&$+!)(B Telnetmode$B$N0UL#$r$h$/$o$+$C$F$J$$$N$G$9$,!"$3$l$r(BFALSE$B$K(B $B$7$J$$$HF0$+$J$$$N$G$9$s!"$&$A$N4D6-$G$O!#;n9T:x8m$NKv$_$D$1$^$7$?!#(B > $ ruby -rsocket -e 'p TCPsocket.open("host", 23).sysread(1024 * 1024)' > > $B$3$l$G(B "\377\373..." $B$d(B "\377\375..." $B$N$h$&$J46$8$N1~Ez$,$"$l$P!"$=$N(B "\377$B{\(B377 $B$H$$$&$N$,JV$C$F$-$F$^$9$M!#(B > $B%U%!%$%"%&%)!<%k%^%7%s$H$N$d$j$H$j$O(B telnet $B%W%m%H%3%k$,MxMQ$5$l$F$$$k(B > $B$H;W$C$F$[$\4V0c$$L5$$$G$7$g$&$+$i!"(BTelnetmode $B$r(B false $B$K$9$k$H=hM}$5(B > $B$l$J$+$C$?(B telnet $B%W%m%H%3%k$,LdBj$r5/$3$92DG=@-$,$"$j$^$9!#(B > > $B0lJ}!"$=$N%U%!%$%"%&%)!<%k%^%7%s$N(B telnet $B%3%^%s%I$,(B pop $B%5!<%P!<$H@\(B > $BB3$9$k;~$K$O(B telnet $B%W%m%H%3%k$N2r $B$O<+F0H=Dj$7$F$/$l$F$$$k$H4|BT$7$^$7$g$&$+(B... > > $B > $B$3$N?7(Btelnet.rb$B$r;H$C$F!"0J2<$N$b$N$r=q$-D>$7$?$$$s$G$9$,!"(B > > $B$I$&$b$d$j$+$?$,$o$+$j$^$;$s!#(B > > $B$"!"$$$(!"$b$C$HC1=c!"4JC1$J$s$G$9$h!#$3$s$J46$8$G$9!#(B > > # $B%U%!%$%"%&%)!<%kBP1~ItJ,(B ($B860F!'$o$?$J$Y$5$s(B) > def fw_pop3(host, port = 110) > ENV['TELNET_GATEWAY'] or raise "please setenv TELNET_GATEWAY." > fw = Telnet.new('Host'=>ENV['TELNET_GATEWAY']) > fw.waitfor(/>\Z/){|c| print c } > fw.print "telnet #{host} #{port}" > fw > end > > class Pop3 > def initialize (host, port = 110, timeout = 20) > if host.kind_of?(Hash) > # Pop3.new $B$N%*%W%7%g%s$rE,Ev$K=hM}$7!"$=$N$^$^(B Telnet.new $B$K0z$-EO$9(B > host['Port'] ||= port > host['Timeout'] ||= timeout > @host = Telnet.new(host) > else > @host = Telet.new({'Host' => host, 'Port' => port, 'Timeout' => timeout}) > end > @mails = [] > end > end $B$h$&$d$/F0$-$^$7$?!#$"$j$,$H$&$4$6$$$^$7$?!#(B $B:#$^$G%H%i%$$7$F$?J}K!$O4V0c$$$G$O$J$$$1$I!"(B > fw.waitfor(/>\Z/){|c| print c } $B$8$c$@$a$@$C$?$s$G$9$M!#$&$A$N(Bproxy$B$O(B "tn-gw-> " $B$H%9%Z!<%9F~$j$N$r(B $BJV$7$F$/$k$N$G!#(B > fw_pop3 $B$r(B Pop3 $B%/%i%9$K4^$a!"(BPop3.new({'Proxy' => 'foo.bar.co.jp'}) > $B$H$$$& $B$a$k;v$K$J$k$N$G!"I8=`%i%$%V%i%j$K$9$k>l9g$OHr$1$?J}$,NI$$$H$O;W$$$^$9!#(B $B$H$$$&$o$1$G!"$3$l$O\s*\Z $B$K$7$H$1$P$$$$$@$1$+$b(B > > $B$"$H!"%3%a%s%H$K$J$C$F$k(B STDOUT.reopen(open("/dev/null", "w")) $B$O!"(B > > telnet.rb $B$G(BSTDOUT$B$K=q$-=P$5$l$k%a%C%;!<%8$rM^@)$7$?$$$s$G$9$,(B > > $B$3$l$d$k$H2?$bJV$C$F$3$J$/$J$C$A$c$$$^$9!#(B > > $B$"!"(BSTDOUT $B$X$N=PNO$OL5$/$J$j$^$7$?!#5U$K!"@\B3;~$N%a%C%;!<%8$,I,MW$J(B > $B>l9g$O(B Telnet.new(){|c| print c } $B$N$h$&$K$7$F2<$5$$!#(B $B$"!"(B1.2.5$B$N$K$OH?1G$5$l$F$J$+$C$?$@$1$G$9$M!#(B $B4X78$J$$$1$I(B > host['Port'] ||= port $B$O!"$7$P$i$/9M$($3$s$G$7$^$C$?!#$I$&$b$3$N5-K!$K$OFk@w$^$s$J$"!#(B $B<+J,$J$iHs>o$K>iD9$@$1$I(B host['Port'] = host['Port'] ? host['Port'] : port $B$H=q$$$F$7$^$$$=$&!#(B $B=q$-J}$N<+M3EY$,Bg$-$$$H$$$&$N$O!"FI$_$K$/$5$r=uD9$9$k$h$&$J5$$,$9$k!#(B $B47$l$F$J$$$@$1!)(B Python$B?X1D$+$i%1%AIU$1$i$l$=$&!#(B