[ruby-list:49669] Re: net/smtp sslでのwhileループメール送信
From:
Taiki Kimura <taikimura8182@...>
Date:
2013-11-13 08:26:40 UTC
List:
ruby-list #49669
下田さん
こちらの通りに書いてテストしているのですが、
----------------------------------------------
# smtp初期化
smtp = Net::SMTP.new(HOST, PORT)
smtp.enable_ssl
# to_listの各行を処理
to_list.lines do |to|
# 送信処理
smtp.start(HELO, ACCESS_KEY, SECRET_KEY, :plain) {|smtp|
smtp.send_message msg(from, to), from, to
}
end
----------------------------------------------
やはり、最初に投稿した時に掲示したエラーと同じエラーがでてメール送信ができません。。。
----------------------------------------------
/usr/local/lib/ruby/site_ruby/1.9.1/openssl/buffering.rb:174:in
`sysread_nonblock': end of file reached (EOFError)
from /usr/local/lib/ruby/site_ruby/1.9.1/openssl/buffering.rb:174:in
`read_nonblock'
from /usr/local/lib/ruby/1.9.1/net/protocol.rb:141:in `rbuf_fill'
from /usr/local/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
from /usr/local/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:929:in `recv_response'
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:915:in `block in getok'
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:939:in `critical'
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:913:in `getok'
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:907:in `quit'
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:613:in `do_finish'
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:522:in `ensure in start'
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:522:in `start'
from test.rb:38:in `block in <main>'
from test.rb:36:in `lines'
from test.rb:36:in `<main>'
----------------------------------------------
で、エラーメッセージから推測して調べたところ、
↓このモジュールを有効にする必要があるのでは???と予測しておりますが見当違いでしょうか。
http://fistfvck.sakura.ne.jp/ruby/rurima-1.9.3/class/-open-s-s-l=3a=3a-buffering.html
ちなみに、試しに、smtp.enable_sslを、
smtp.enable_ssl(OpenSSL::Buffering)と書いてみたところエラーメッセージが変わりました。
こちらsmtp.enable_ssl(OpenSSL::Buffering)の場合のエラーメッセージです。
----------------------------------------------
/usr/local/lib/ruby/1.9.1/net/smtp.rb:575:in `initialize': wrong
argument (Module)! (Expected kind of OpenSSL::SSL::SSLContext)
(TypeError)
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:575:in `new'
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:575:in `ssl_socket'
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:580:in `tlsconnect'
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:551:in `do_start'
from /usr/local/lib/ruby/1.9.1/net/smtp.rb:519:in `start'
from test.rb:38:in `block in <main>'
from test.rb:36:in `lines'
from test.rb:36:in `<main>'
----------------------------------------------
> ところで別件なのですが
> MLに同じテーマの話題を投稿するときは
> 自分が返信したいメールにそのまま「返信」しましょう。
了解しました。
一応、非常に簡単にではありますが、
過去の投稿で似たようなものがないかを調べてみたのですが、
同じようなテーマでの投稿をみつけられなかったので新規で投稿してしまいました。