西山和広です。

>>> Fri, 11 Aug 2006 17:22:49 +0900 の刻に
>>> yahatah / agr.kyushu-u.ac.jp("Hisashi Yahata") 氏曰く
>
>  しかし、smtpサーバの認証ができません。すなわち、下記のように、Timeoutしま
> す。
>  認証に時間を必要ということもあるかもしれないですが、OUTLOOKを利用した場
> 合、スムーズにいきますので、やはり正しく通っていないと思います。
>  確認ですが、over SSLとは、:plainでも:cram_md5でもどちらでもよい
> ということでしょうか。

over SSLかどうかに関係なく、どの認証が使えるのかは
サーバ側の設定次第です。


> なお、西山さんのスクリプトを動かすと、次の結果でした。すなわち、25の場合のみ
> OKであったことでしょうか。
> ["192.168.0.43", 25]
> SMTP session opened: 192.168.0.43:25
> c:/ruby/lib/ruby/1.8/net/protocol.rb:133:in `sysread': End of file reached
> (EOFError)

SMTP session openedの直後にエラーになっているということは、
25番ポートでも失敗しているように見えます。

スクリプトの中で
  host = '192.168.0.43'
となっているところと
smtp.startのユーザ名とパスワードの部分は、
適当に変えて試してください。


25は平文認証禁止で、465(smtps)のSMTP over SSLと
587(submission)のSMTP over TLSは平文認証も許可している
設定のサーバに繋いだときの実行例は以下のようになります。
(ホスト名とパスワード周りは変更しています。)

% ruby18 -I. smtp-tester.rb
["192.168.0.43", 25]
SMTP session opened: 192.168.0.43:25
-> "220 hoge.example.jp ESMTP Postfix (Debian/GNU)\r\n"
<- "EHLO localhost\r\n"
-> "250-hoge.example.jp\r\n"
-> "250-PIPELINING\r\n"
-> "250-SIZE 10240000\r\n"
-> "250-VRFY\r\n"
-> "250-ETRN\r\n"
-> "250-STARTTLS\r\n"
-> "250-AUTH DIGEST-MD5 CRAM-MD5\r\n"
-> "250 8BITMIME\r\n"
<- "AUTH PLAIN XXXXXXXXXXXXXXXXXXXX\r\n"
-> "535 Error: authentication failed\r\n"
#<Net::SMTPAuthenticationError: 535 Error: authentication failed
>
["192.168.0.43", 25]
SMTP session opened: 192.168.0.43:25
-> "220 hoge.example.jp ESMTP Postfix (Debian/GNU)\r\n"
<- "EHLO localhost\r\n"
-> "250-hoge.example.jp\r\n"
-> "250-PIPELINING\r\n"
-> "250-SIZE 10240000\r\n"
-> "250-VRFY\r\n"
-> "250-ETRN\r\n"
-> "250-STARTTLS\r\n"
-> "250-AUTH DIGEST-MD5 CRAM-MD5\r\n"
-> "250 8BITMIME\r\n"
<- "AUTH LOGIN\r\n"
-> "535 Error: authentication failed\r\n"
#<Net::SMTPUnknownError: 535 Error: authentication failed
>
["192.168.0.43", 25]
SMTP session opened: 192.168.0.43:25
-> "220 hoge.example.jp ESMTP Postfix (Debian/GNU)\r\n"
<- "EHLO localhost\r\n"
-> "250-hoge.example.jp\r\n"
-> "250-PIPELINING\r\n"
-> "250-SIZE 10240000\r\n"
-> "250-VRFY\r\n"
-> "250-ETRN\r\n"
-> "250-STARTTLS\r\n"
-> "250-AUTH DIGEST-MD5 CRAM-MD5\r\n"
-> "250 8BITMIME\r\n"
<- "AUTH CRAM-MD5\r\n"
-> "334 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r\n"
<- "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r\n"
-> "235 Authentication successful\r\n"
<- "QUIT\r\n"
-> "221 Bye\r\n"
["192.168.0.43", 465]
SMTP session opened: 192.168.0.43:465
-> "220 hoge.example.jp ESMTP Postfix (Debian/GNU)\r\n"
<- "EHLO localhost\r\n"
-> "250-hoge.example.jp\r\n"
-> "250-PIPELINING\r\n"
-> "250-SIZE 10240000\r\n"
-> "250-VRFY\r\n"
-> "250-ETRN\r\n"
-> "250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5\r\n"
-> "250 8BITMIME\r\n"
<- "AUTH PLAIN XXXXXXXXXXXXXXXXXXXX\r\n"
-> "235 Authentication successful\r\n"
<- "QUIT\r\n"
-> "221 Bye\r\n"
["192.168.0.43", 465]
SMTP session opened: 192.168.0.43:465
-> "220 hoge.example.jp ESMTP Postfix (Debian/GNU)\r\n"
<- "EHLO localhost\r\n"
-> "250-hoge.example.jp\r\n"
-> "250-PIPELINING\r\n"
-> "250-SIZE 10240000\r\n"
-> "250-VRFY\r\n"
-> "250-ETRN\r\n"
-> "250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5\r\n"
-> "250 8BITMIME\r\n"
<- "AUTH LOGIN\r\n"
-> "334 XXXXXXXXXXXX\r\n"
<- "XXXXXXXX\r\n"
-> "334 XXXXXXXXXXXX\r\n"
<- "XXXXXXXXXXXX\r\n"
-> "235 Authentication successful\r\n"
<- "QUIT\r\n"
-> "221 Bye\r\n"
["192.168.0.43", 465]
SMTP session opened: 192.168.0.43:465
-> "220 hoge.example.jp ESMTP Postfix (Debian/GNU)\r\n"
<- "EHLO localhost\r\n"
-> "250-hoge.example.jp\r\n"
-> "250-PIPELINING\r\n"
-> "250-SIZE 10240000\r\n"
-> "250-VRFY\r\n"
-> "250-ETRN\r\n"
-> "250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5\r\n"
-> "250 8BITMIME\r\n"
<- "AUTH CRAM-MD5\r\n"
-> "334 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r\n"
<- "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r\n"
-> "235 Authentication successful\r\n"
<- "QUIT\r\n"
-> "221 Bye\r\n"
["192.168.0.43", 587]
SMTP session opened: 192.168.0.43:587
-> "220 hoge.example.jp ESMTP Postfix (Debian/GNU)\r\n"
<- "EHLO localhost\r\n"
-> "250-hoge.example.jp\r\n"
-> "250-PIPELINING\r\n"
-> "250-SIZE 10240000\r\n"
-> "250-VRFY\r\n"
-> "250-ETRN\r\n"
-> "250-STARTTLS\r\n"
-> "250 8BITMIME\r\n"
<- "STARTTLS\r\n"
-> "220 Ready to start TLS\r\n"
TLS started
<- "EHLO localhost\r\n"
-> "250-hoge.example.jp\r\n"
-> "250-PIPELINING\r\n"
-> "250-SIZE 10240000\r\n"
-> "250-VRFY\r\n"
-> "250-ETRN\r\n"
-> "250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5\r\n"
-> "250 8BITMIME\r\n"
<- "AUTH PLAIN XXXXXXXXXXXXXXXXXXXX\r\n"
-> "235 Authentication successful\r\n"
<- "QUIT\r\n"
-> "221 Bye\r\n"
["192.168.0.43", 587]
SMTP session opened: 192.168.0.43:587
-> "220 hoge.example.jp ESMTP Postfix (Debian/GNU)\r\n"
<- "EHLO localhost\r\n"
-> "250-hoge.example.jp\r\n"
-> "250-PIPELINING\r\n"
-> "250-SIZE 10240000\r\n"
-> "250-VRFY\r\n"
-> "250-ETRN\r\n"
-> "250-STARTTLS\r\n"
-> "250 8BITMIME\r\n"
<- "STARTTLS\r\n"
-> "220 Ready to start TLS\r\n"
TLS started
<- "EHLO localhost\r\n"
-> "250-hoge.example.jp\r\n"
-> "250-PIPELINING\r\n"
-> "250-SIZE 10240000\r\n"
-> "250-VRFY\r\n"
-> "250-ETRN\r\n"
-> "250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5\r\n"
-> "250 8BITMIME\r\n"
<- "AUTH LOGIN\r\n"
-> "334 XXXXXXXXXXXX\r\n"
<- "XXXXXXXX\r\n"
-> "334 XXXXXXXXXXXX\r\n"
<- "XXXXXXXXXXXX\r\n"
-> "235 Authentication successful\r\n"
<- "QUIT\r\n"
-> "221 Bye\r\n"
["192.168.0.43", 587]
SMTP session opened: 192.168.0.43:587
-> "220 hoge.example.jp ESMTP Postfix (Debian/GNU)\r\n"
<- "EHLO localhost\r\n"
-> "250-hoge.example.jp\r\n"
-> "250-PIPELINING\r\n"
-> "250-SIZE 10240000\r\n"
-> "250-VRFY\r\n"
-> "250-ETRN\r\n"
-> "250-STARTTLS\r\n"
-> "250 8BITMIME\r\n"
<- "STARTTLS\r\n"
-> "220 Ready to start TLS\r\n"
TLS started
<- "EHLO localhost\r\n"
-> "250-hoge.example.jp\r\n"
-> "250-PIPELINING\r\n"
-> "250-SIZE 10240000\r\n"
-> "250-VRFY\r\n"
-> "250-ETRN\r\n"
-> "250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5\r\n"
-> "250 8BITMIME\r\n"
<- "AUTH CRAM-MD5\r\n"
-> "334 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r\n"
<- "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r\n"
-> "235 Authentication successful\r\n"
<- "QUIT\r\n"
-> "221 Bye\r\n"
%


--
|ZnZ(ゼット エヌ ゼット)
|西山和広(Kazuhiro NISHIYAMA)