木村です。

On Fri, 11 Aug 2006 12:40:39 +0900
"Hisashi Yahata" <yahatah / agr.kyushu-u.ac.jp> wrote:

>  さっそく、rubyのlibにsmtp.rbを入れ替えて動かしたところ、最初、require
> 'net/protocols'がないとのエラーが発生しました。
>   ruby 1.8.2 (2005-04-11) [i386-linux]とは異なり、当方が使用する ruby 1.8.2
> (2004-11-06) [i386-mswin32]では、net/protocolとなっており、sが欠落していま
> す。
>  仮にファイル名にsをつけ加えて実行すると、最初のエラーはなくなりましたが、
> 次のように、当然でしょうが、エラーがでました。

protocol.rb と protocols.rb は別物のようです。
また、

Wed Sep 14 01:26:03 2005  Minero Aoki  <aamine / loveruby.net>

	* lib/net/https.rb: backported from trunk, rev 1.3.
	  [ruby-dev:25673] (again), [ruby-dev:26617] (again),
	  [ruby-dev:27062]

	* ext/openssl/lib/net/https.rb: removed.

	* ext/openssl/lib/net/protocols.rb: removed.

	* lib/net/http.rb: #use_ssl?, #use_ssl are moved from net/https.

と記録に残っていますので、現在の(矢幡さんのお使いの)Rubyでは
protocols.rb は存在していなくて、たむらさんの試したRuby(1.8.2)では
削除前なので存在していたということだと思います。

>  linuxでは問題なく動くようですが、mswin32では、内容が異なることが推測され、
> 動きませんでした。
>  Windows環境で、SMTP認証にバグがあるということでしょうか。Windowsで解決して
> いる事例があれば、嬉しいのですが。

ということで、GNU/Linux と Windowsの違いというよりは、使っている
Rubyのバージョンの問題かと。

具体的にどうすればよいかはわたしにはわかりません。
お役に立てず申し訳ない。

以下 あおきさんへ
1.9 でも protocols.rb はなくなっているのに、ChangeLogのエントリには
その旨の記述が残っていませんでした。

-- 
木村浩一