[#14130] Re: pop3 via firewall — kikutani@...
きくたにです。古い話を持ち出しますが、
[#14133] Thread safe eRuby — Yoshinori Toki <toki@...>
土岐です。
まつもと ゆきひろです
[#14136] — akendo@...3.rim.or.jp
遠藤です。
まつもと ゆきひろです
[#14153] Re: Class is a Class. — 助田 雅紀 <masaki.suketa@...>
助田です.
[#14202] はじめまして — Takashi Nishimoto <g96p0935@...>
みなさん、 はじめまして。
[#14203] class def in class def — kikutani@...
きくたにです。なんか初歩的質問で恥ずかしいけど。
なひです.
なひです.
まつもと ゆきひろです
なひです.
まつもと ゆきひろです
前田です。
五樹島です。お世話になっております。
松尾です。
石橋秀仁です. はじめまして.
前田です。
石橋です.
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
[#14220] Re: Subscribe confirmation request (ruby mailing list) — Akihiro Yamauchi <aygoofy@...>
ruby-list-admin@netlab.co.jp wrote
有馬@FITECです。
わたなべです.
[#14257] hajimemasite — Koyama Hideo<fa8h-kym@...>
[#14282] What's |n| ? — Kohji IKEDA <kid@...>
はじめまして、池田@ソフトサイエンスです。
From: Kohji IKEDA <kid@mwc.biglobe.ne.jp>
ども、池田@ソフトサイエンスです。
まつもと ゆきひろです
遠藤です。
まつもと ゆきひろです
[#14284] Module.new feature — Shin-ichiro Hara <sinara@...>
原です。
[#14292] RUBYLIB is necessary for 1.3 ? — kikutani@...
1.2までは、たとえば、mime.rb を /usr/local/lib/ruby にほうりこんどきゃ
[#14304] ruby-info.el — Takashi Nishimoto <g96p0935@...>
Ruby の関数/変数の解説を info から調べる Emacs Lisp を書いてみました。
[#14323] Segmentation Fault on ruby-1.2.5 for Win32(Cygwin) — "MIYOKAWA, Nobuyoshi" <nmiyo@...>
三代川と申します。
こんにちは,もりきゅうです。
こんにちは、三代川です。
[#14332] ruby/gtk 0.17 — Dai <MAP2303@...>
[#14336] archive.rb — Takashi Nishimoto <g96p0935@...>
必要のため、統合アーカイバを書いてみました。
まつもと ゆきひろです
[#14341] sort animation on ruby/tk — "Date Ken" <ge6537@...>
はじめまして伊達と申します。
[#14371] regexp for backslash escaped strings — gotoken@... (GOTO Kentaro)
ごとけんです
わたなべです.
[#14379] Ruby as the First Language — Hideto Ishibashi <a1602hi@...>
石橋秀仁です.
ごとけんです
石橋秀仁です.
ごとけんです
From: gotoken@math.sci.hokudai.ac.jp
[#14408] goo.rb — Kazunori Akaishi <akaishi@...>
akaishi です。
[#14417] はじめまして — Kenji Horikoshi <k-horix@...>
はじめまして,堀越と申します.
ごとけんです
[#14428] sort — Koyama Hideo<fa8h-kym@...>
もとcobol屋の小山と申します。
立石です。
ごとけんさん、立石さん。ありがとうございます。
[#14441] ConditionVariable (thread.rb) — SEKI <m_seki@...>
原です。
前田です。
前田です。
原です。
前田です。
原です。
原です。
前田です。
まつもと ゆきひろです
原です。
前田です。
原です。
前田です。
原です。
前田です。
[#14481] count lines — kikutani@...
きくたにです。
[#14489] Re: sort — 助田 雅紀 <masaki.suketa@...>
助田です.ちょっとわからなかったので質問します.
[#14506] Re: ちっちゃい Ruby — 中村暁史 <anakamur@...>
[#14513] Hater — cercine@... (Takashi Ikeda)
池田です。
こんにちは,堀越です.
中田@Vectorです。こんな話の時だけ。
こんにちは,堀越です.
In message "[ruby-list:14574] Re: Hater"
こんにちは,堀越です.
石橋秀仁です.
こんにちは,堀越です.
石橋秀仁です. こんにちは.
もと、大型機使いの小山です。
有馬@FITECです。
新井です。
有馬@FITECです。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
まつもと ゆきひろです
だんのです。
まつもと ゆきひろです
石橋秀仁%チュートリアル構想中です.
ごとけんです
なひです.
石橋秀仁です.
なひです.大学では自然言語処理や知識表現について研究しておりました.
石橋秀仁です.
なひです.
なひです.
なひです.
石橋秀仁です.
前田です。
早坂@会津大学といいます。
まつもと ゆきひろです
[#14521] ruby の書き方 ? — goto@...
後藤@横河工事です。以前、ここでお世話になったおかげで、なんとか
前田です。
私も -i でやる方法を書いたけど、前田さんが書いたからもういいや。
[#14597] TkAfter munched memory. — Yoshinari NOMURA <nom@...>
はじめまして、九大の乃村です。
[#14602] ruby upload cgi program — ymaekawa@...
前川と申します。
青山です。
[#14667] [BUG] def foo; foo end; foo — "Takehiko Ueki" <takehiko@...>
ども、植木です。
[#14696] Ruby traps & tips — Akira Endo <akendo@...3.rim.or.jp>
遠藤です。
あおきです。
遠藤です。
あおきです。
[ruby-list:14130] Re: pop3 via firewall
きくたにです。古い話を持ち出しますが、
[ruby-list:13517] で青山さんはおっしゃいました。
: [ruby-list:12956] を引用すると、FWTK への対応はこんな感じのようです。
:
: def fw_telnet(host)
: ENV['TELNET_GATEWAY'] or raise "please setenv TELNET_GATEWAY."
: fw = Telnet.new('Host'=>ENV['TELNET_GATEWAY'])
: fw.waitfor(/>\Z/){|c| print c }
: fw.print "connect #{host}"
: fw
: end
:
: というようなのを用意しておいて、
:
: host = Telnet.new('Proxy'=>fw_telnet('foo.bar.co.jp'))
:
: とか、
:
: nif.rb ではこんな感じです。
:
: nif = Nifty.new({'id' => 'ID',
: 'password' => 'PASSWORD',
: 'log' => Time.now.strftime("%Y%m%d.log"),
: 'Proxy' => fw_telnet('r2.nifty.ne.jp')})
この新telnet.rbを使って、以下のものを書き直したいんですが、
どうもやりかたがわかりません。
class ProxyPop3
def initialize (pop_proxy, pop_host, pop_port=110, timeout=20)
# STDOUT.reopen(open("/dev/null", "w"))
@proxy = Telnet.new(
{"Host" => pop_proxy,
"Timeout" => timeout,
"Telnetmode" => FALSE}
)
# STDOUT.reopen(stdout)
@proxy.cmd({"String" => sprintf("telnet %s %d", pop_host, pop_port),
"Match" => /^\+OK/})
@mails = []
end
attr("mails")
def login(pop_user, pop_pass)
@proxy.cmd({"String" => "user " + pop_user, "Match" => /^\+OK/})
@proxy.cmd({"String" => "pass " + pop_pass, "Match" => /^\+OK/})
msgs = @proxy.cmd({"String" => "list", "Match" => /^\./})
nums = msgs.scan(/(\d+)\s+\d+\r\n/).collect{|i| i[0]}
nums.each do |n|
# I dont know how to delete 1st +OK line and last dot line in a smart way
s = @proxy.cmd({"String" => "retr " + n, "Match" => /^\./}).split(/\r\n/)
str = []
s.each_with_index do |l, i|
unless (i == 0 and l =~ /^\+OK/) or (i == s.size-1 and l =~ /^\./)
str << l
end
end
@mails[n.to_i] = str.join("\n")
end
end
def delete(m)
i = @mails.index(m)
return nil unless i
@proxy.cmd({"String" => "DELE " + i.to_s, "Match" => /^\+OK/})
TRUE
end
def delete_by_idx(i)
@proxy.cmd({"String" => "DELE " + i.to_s, "Match" => /^(\+OK|-ERR)/})
TRUE
end
def logout
@proxy.cmd("quit")
end
end
あと、コメントになってる STDOUT.reopen(open("/dev/null", "w")) は、
telnet.rb でSTDOUTに書き出されるメッセージを抑制したいんですが
これやると何も返ってこなくなっちゃいます。
こんどできる標準popライブラリでは、火壁ごしの機能も
入れてほしいですね。
--
Kikutani, Makoto kikutani@sprintmail.com