[#23640] net/http authentication — OZAWA Sakuro <crouton@...>
さくです。
[#23642] rescue-ensure behavior diff between 1.4 and 1.5 — "Kikutani, Makoto" <kikutani@...>
下のコードを実行すると
[#23659] KCODE and regexp — "Kikutani, Makoto" <kikutani@...>
ストリングの中の特定のポイントがEUC2バイト文字泣き別れかどうか
On Mon, 3 Jul 2000 04:17:26 +0900,
[#23670] crontab.rb で「?」 — Atsuko Yoshida <Atsuko_Yoshida@...21.fxis.fujixerox.co.jp>
こんにちは。どなたか覚えていてくれたらとってもうれしい、お久しぶりのあつ
[#23687] file から読み込んだ文字列の #{} — HIGAKI Masaru (ひがき まさる) <mash@...>
ひがきといいます。
[#23693] 与えられた文字列を変数名にする方法 — Yamada Kenji <kyamada@...>
[#23707] Time#usec — ARIMA Yasuhiro <fit0298@...>
有馬です。
[#23713] sybct expired? — KUSUNOKI Masanori <masanori@...>
楠です。
[#23731] environment variables — nobu.nakada@...
なかだです。
[#23743] TCPServer & Thread — とみたまさひろ <tommy@...>
とみたです。
こんにちは。鈴木教郎です。
あおきです。
[#23749] RubyTalk — とみたまさひろ <tommy@...>
とみたです。
なかだです。
[#23796] dRuby — Kazuhiro NISHIYAMA <zn@...>
raaにあるものについてはruby-extの方がいいんでしょうか?
[#23801] scan regexp w/ w/o parenthesis — "Kikutani, Makoto" <kikutani@...>
s = 'aaa bbb ccc'
[#23805] net/smtp — 佐藤 大輔 <densuke@...2.so-net.ne.jp>
佐藤です。
まつもと ゆきひろです
佐藤です。
まつもと ゆきひろです
あおきです。
まつもと ゆきひろです
わたなべです.
阿部です。こんにちわ
まつもと ゆきひろです
阿部です。
[#23840] Re: 紅玉すうぉっち Again — Kazuhiro NISHIYAMA <zn@...>
掲示板とかが無かったのでruby-listに :-)
[#23864] ruby-1.4.5 がビルドできません、 cygwin1.1 で — Keishi Ooshio <o-keishi@...>
はじめまして。cygwin版のrubyを使ってJw-cadの外部変形などを作っていい
[#23867] net/smtp での ready 中の進捗状況把握 — Yukihiko Eda <eda@...>
江田です。
[#23870] media watch 2000.07.(18-1) — Noritsugu Nakamura <nnakamur@...>
[#23884] アスタリスクの正規表現 — "Matsuhisa, Takashi" <matsuhisa@...>
はじめまして、
[#23890] Ruby Entry Package and cygwin1.dll — Noritsugu Nakamura <nnakamur@...>
わたなべです.
小松です。
わたなべです.
小松です。
わたなべです.
小松です。
わたなべです.
[#23901] backslash notation in regexp ?? — Yuji Shigehiro <sigehiro@...>
重弘と申します.
[#23907] Ruby の開発環境 — ikjun <ikjun@...>
ここでは最初に本名を名乗ることが多いようですので、それに従わせて
[#23922] flush deflate buffer with Ruby/zlib — Tanaka Akira <akr@...17n.org>
Ruby/zlib の Deflate で圧縮を試みているのですが、ひとつよくわからない
うえの@ぶるーすかいです。
In article <20000720123857-664W.unnie@blue.sky.or.jp>,
[#23923] Re: [ruby-dev:10353] Re: should prohibit `module_function' for class Class — Masatoshi SEKI <m_seki@...>
まつもと ゆきひろです
[#23934] loop 中での File の使いかた — Kengo Nakajima <ringo@...>
こんにちは
In message "[ruby-list:23934] loop 中での File の使いかた"
中嶋です。
ごとけんです
[#23940] String#unpack と scanf の関係 — kiwamu <kiwamu@...>
こんにちは。岡部@東京都立大学と申します。
福嶋です。
こんにちは。岡部です。
福嶋です。
Thu, Jul 20, 2000 at 08:44:42PM +0900 において
皆さん今晩は、田鎖です。
[#23951] 過去の記事をダウンロード — ikjun <ikjun@...>
池田純一です。
[#23993] C MAGAZINE — gotoken@... (GOTO Kentaro)
ごとけんです
[#24009] SMTP server (mail filter proxy) — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
こんにちは。石橋"rubyholic"秀仁です。
いわおかです。ちょっと後向きかもしれませんが、
石橋"rubyholic"秀仁です。
[#24026] OpenStep — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#24038] win32ole — Koji Arai <JCA02266@...>
新井です。
[#24049] mod_ruby/eruby/header — OZAWA -Crouton- Sakuro <crouton@...>
さく@晴空號です。
[ruby-list:24012] Re: SMTP server (mail filter proxy)
あおきです。
In mail "[ruby-list:24009] SMTP server (mail filter proxy)"
Hideto ISHIBASHI <hideto-i@rr.iij4u.or.jp> wrote:
> こんにちは。石橋"rubyholic"秀仁です。
>
> いまメールフィルタを作ろうとしています。
> 情報・御意見をお願いします。
> Ruby の MTA があれば、一番かんたんですよね。
この前ちょこっと書いたのがあるんで、よければ使ってください。
ただし 7 月中は一切の改善要求に応えられませんのであしからず。
-------------------------------------------------------------------
あおきみねろう
#
# smtpd.rb
#
require 'socket'
class SMTPd
def initialize( port )
@port = port
end
def execute
if $DEBUG then
waitcall
end
fork do
Process.setsid
fork do
$stdin.close
$stdout.close
$stderr.close
waitcall
end
exit!
end
exit!
end
private
def waitcall
s = TCPServer.open( @port )
trap( 'SIGINT' ) { exit! }
trap( 'SIGHUP' ) { exit! }
trap( 'SIGTERM' ) { exit! }
while true do
@sock = s.accept
begin
session
ensure
@sock.close
end
end
end
def session
from = nil
to = {}
@rbuf = ''
writeline "220 #{Socket.gethostname} ESMTP"
while true do
case resp = readline
when /\A(?:helo|ehlo)/i
writeline '250 ok'
when /\Amail from:<(\S+)>/i
from = $1
to.clear
writeline '250 ok'
when /\Arcpt to:<(\S+)>/i
unless from then
writeline '508 MAIL first'
next
end
to[$1] = true
writeline '250 ok'
when /\Adata/i
unless from then
writeline '508 MAIL first'
next
end
if to.empty? then
writeline '508 RCPT first'
next
end
writeline '354 go ahead'
recvmail from, to
writeline '250 ok'
from = nil
to.clear
when /\Aquit/i
writeline "221 #{Socket.gethostname}"
to = from = nil
@rbuf = ''
break
else
writeline '502 unimplemented'
end
end
end
def recvmail( from, to )
tmp = nil
# とりあえずはファイルに書いてるだけ
File.open( 'tmp', 'w' ) do |f|
f.puts "smtp from=#{from}"
to.each_key do |i|
f.puts "smtp to=#{i}"
end
f.puts
# 本体
while true do
tmp = readline
tmp.sub! /\A\../, '.'
break if tmp == '.'
f.write tmp, "\r\n"
end
end
end
def writeline( msg )
@sock.write msg + "\r\n"
@sock.flush
end
def readline
until m = /\r\n/.match( @rbuf ) do
# p @rbuf
@rbuf << @sock.sysread( 1024 )
if @rbuf.size > 1024 * 3 then
writeline '508 line too long'
@rbuf.clear
end
end
# p @rbuf
@rbuf = m.post_match
m.pre_match
end
end
if $0 == __FILE__ then
$DEBUG = true
puts 'debug mode. try "telnet localhost 12525" from other terminal'
smtp = SMTPd.new( 12525 )
smtp.execute
end