From: Hisashi Yahata Date: 2006-08-11T18:46:46+09:00 Subject: [ruby-list:42680] Re: メールのSMTP認証の方法(質問) 西山様 いただいたスクリプトを少し理解して、ユーザー、パスワードを入れて、サーバーの チェックを始めていたところ、 詳細な解析結果を送付いただき有り難うございました。実行例があると大変に理解し やすいです。 私が使用するESMTP serverを対象に、実行した結果に一部を引き出しました。詳細は 後述。 <- "AUTH CRAM-MD5\r\n" -> "504 Unsupported authentication mechanism\r\n" は、AUTH CRAM-MD5は使用していないということだと思います。 一方で、SMTP session opened: XXXXX.ne.jp:25の場合、 -> "235 Authentication successful\r\n" <- "QUIT\r\n" -> "221 XXXXXXXXXXXXXXXXXXXX.ne.jp ESMTP server closing connection\r\n" とでるのは、ESMTP serverに認証されたことでしょうか。 25で認証されることは考えられず、メールを実際に送信しましたが、やはりタイムア ウトしてしまいます。 驚いたことに、今、メールをしながら、状況を確認していると、opensslが見 つからないとエラーがでました。 急いで、フォルダー毎を古いバージョンにコピーしましたが、依然パスが通っていな い様子で、エラーです。 これは、Rubyのバージョンが1.8.2と古いことが、原因かと反省しなければなりませ ん。認証問題は新しい動きですので、・・・。 Rubyを再インストールしてやり直します。もし、これが原因であれば、大変にご迷惑 をおかけしたことになります。 しかし、 植田さんからも、認証の勉強ができました。厚くお礼申し上げます。 ======西山さんのスクリプトを実行した結果========== ["XXXXXXXXXXXXXXXXXXXX.ne.jp", 25] ["XXXXXXXXXXXXXXXXXXXX.ne.jp", 25] ["XXXXXXXXXXXXXXXXXXXX.ne.jp", 25] SMTP session opened: XXXXX.ne.jp:25 -> "220 XXXXXXXXXXXXXXXXXXXX.ne.jp ESMTP server ready Fri, 11 Aug 2006 17:52:46 +0900\r\n" <- "EHLO localhost\r\n" -> "250-XXXXXXXXXXXXXXXXXXXX.ne.jp\r\n" -> "250-AUTH=LOGIN PLAIN\r\n" -> "250-AUTH LOGIN PLAIN\r\n" -> "250-PIPELINING\r\n" -> "250-DSN\r\n" -> "250-8BITMIME\r\n" -> "250 SIZE 5242880\r\n" <- "AUTH PLAIN XXXXXXXXXXXXXXXXXXXX\r\n" -> "235 Authentication successful\r\n" <- "QUIT\r\n" -> "221 XXXXXXXXXXXXXXXXXXXX.ne.jp ESMTP server closing connection\r\n" SMTP session opened:XXXXXXXXXXXXXXXXXXXX.ne.jp:25 -> "220 XXXXXXXXXXXXXXXXXXXX.ne.jp ESMTP server ready Fri, 11 Aug 2006 17:52:46 +0900\r\n" <- "EHLO localhost\r\n" -> "250-XXXXXXXXXXXXXXXXXXXX.ne.jp\r\n" -> "250-AUTH=LOGIN PLAIN\r\n" -> "250-AUTH LOGIN PLAIN\r\n" -> "250-PIPELINING\r\n" -> "250-DSN\r\n" -> "250-8BITMIME\r\n" -> "250 SIZE 5242880\r\n" <- "AUTH LOGIN\r\n" -> "334 XXXXXXXXXXXXXXXXXXXX\r\n" <- "XXXXXXXXXXXXXXXXXXXXXXXXXXX==\r\n" -> "334 XXXXXXXXXXXXXXXXXXXXXXXXXXX\r\n" <- "XXXXXXXXXXXXXXXXXXXX\r\n" -> "235 Authentication successful\r\n" <- "QUIT\r\n" -> "221 XXXXXXXXXXXXXXXXXXXX.ne.jp ESMTP server closing connection\r\n" SMTP session opened: XXXXXXXXXXXXXXXXXXXX.ne.jp:25 -> "220 XXXXXXXXXXXXXXXXXXXXe.ne.jp ESMTP server ready Fri, 11 Aug 2006 17:52:46 +0900\r\n" <- "EHLO localhost\r\n" -> "250-XXXXXXXXXXXXXXXXXXXX.ne.jp\r\n" -> "250-AUTH=LOGIN PLAIN\r\n" -> "250-AUTH LOGIN PLAIN\r\n" -> "250-PIPELINING\r\n" -> "250-DSN\r\n" -> "250-8BITMIME\r\n" -> "250 SIZE 5242880\r\n" <- "AUTH CRAM-MD5\r\n" -> "504 Unsupported authentication mechanism\r\n" c:/ruby/lib/ruby/1.8/net/smtp.rb:864:in `check_response': 504 Unsupported authentication mechanism (Net::SMTPSyntaxError) from c:/ruby/lib/ruby/1.8/net/smtp.rb:767:in `auth_cram_md5' from c:/ruby/lib/ruby/1.8/net/smtp.rb:766:in `critical' from c:/ruby/lib/ruby/1.8/net/smtp.rb:766:in `auth_cram_md5' from c:/ruby/lib/ruby/1.8/net/smtp.rb:745:in `__send__' from c:/ruby/lib/ruby/1.8/net/smtp.rb:745:in `authenticate' from c:/ruby/lib/ruby/1.8/net/smtp.rb:560:in `do_start' from c:/ruby/lib/ruby/1.8/net/smtp.rb:495:in `start' from C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/rb1F.tmp:15:in `smtp_test' from C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/rb1F.tmp:34 from C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/rb1F.tmp:30:in `each' from C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/rb1F.tmp:30 from C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/rb1F.tmp:25:in `each' from C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/rb1F.tmp:25