わたなべです.

net/protocol.rb の each_crlf_line() ですけど, adding の
block の中の beg = 0 がなくなったためにエラーになります.

Exception `NameError' at /usr/local/lib/ruby/1.5/net/protocol.rb:651
undefined method `empty?' for nil
        from /usr/local/lib/ruby/1.5/net/smtp.rb:96:in `sendmail'

これは
  if m.begin(0) == buf.size - 1 and buf[-1] == ?\r then
で break したときに beg が以前の値を保持したままになるため,
  @wbuf = buf[ beg, buf.size - beg ]
で @wbuf が nil になるときがあるから(beg が buf.size より大
きい時. body の終わりとか).

#これでやっと家からメールが出せる :-)

--- protocol.rb.orig Wed Jun 28 01:07:20 2000 +++ protocol.rb Sat Jul 1 02:28:08 2000 @@ -670,2 +670,3 @@ adding( src ) do + beg = 0 buf = @wbuf