[#23805] net/smtp — 佐藤 大輔 <densuke@...2.so-net.ne.jp>

佐藤です。

26 messages 2000/07/12
[#23806] Re: net/smtp — matz@... (Yukihiro Matsumoto) 2000/07/12

まつもと ゆきひろです

[#23808] Re: net/smtp — 佐藤 大輔 <densuke@...2.so-net.ne.jp> 2000/07/12

佐藤です。

[#23809] Re: net/smtp — matz@... (Yukihiro Matsumoto) 2000/07/12

まつもと ゆきひろです

[#23811] Re: net/smtp — Minero Aoki <aamine@...> 2000/07/12

あおきです。

[#23812] Re: net/smtp — matz@... (Yukihiro Matsumoto) 2000/07/12

まつもと ゆきひろです

[#23890] Ruby Entry Package and cygwin1.dll — Noritsugu Nakamura <nnakamur@...>

25 messages 2000/07/18
[#23895] Re: Ruby Entry Package and cygwin1.dll — WATANABE Hirofumi <eban@...> 2000/07/18

わたなべです.

[#23896] Re: Ruby Entry Package and cygwin1.dll — Noritsugu Nakamura <nnakamur@...> 2000/07/18

[#23897] Re: Ruby Entry Package and cygwin1.dll — Katsuyuki Komatsu <komatsu@...> 2000/07/19

小松です。

[#23898] Re: Ruby Entry Package and cygwin1.dll — WATANABE Hirofumi <eban@...> 2000/07/19

わたなべです.

[#23899] Re: Ruby Entry Package and cygwin1.dll — Katsuyuki Komatsu <komatsu@...> 2000/07/19

小松です。

[#23923] Re: [ruby-dev:10353] Re: should prohibit `module_function' for class Class — Masatoshi SEKI <m_seki@...>

11 messages 2000/07/19

[#23940] String#unpack と scanf の関係 — kiwamu <kiwamu@...>

こんにちは。岡部@東京都立大学と申します。

16 messages 2000/07/20

[ruby-list:23805] net/smtp

From: 佐藤 大輔 <densuke@...2.so-net.ne.jp>
Date: 2000-07-12 03:18:31 UTC
List: ruby-list #23805
佐藤です。

なにげにWanderlustのキューを見てメールを送るツールというのを書いていたの
ですが、

[densuke@yuzu densuke]$ ruby mread.rb
/usr/lib/ruby/1.4/net/smtp.rb:117:in `do_start': undefined method \
                      `gethostname' for Net::Socket:Class (NameError)
        from /usr/lib/ruby/1.4/net/protocol.rb:166:in `start'
        from /usr/lib/ruby/1.4/net/protocol.rb:76:in `start'
        from mread.rb:16

という形で停止しています。

SMTP.start('localhost', 25) do |smtp|

にて、gethostnameメソッドが呼べなくなっているのが原因のようです。

ソースコード(1.4.5)のext/socketの中を読むと、gethostnameが特異メソッド
になっていました。どうやってコールすればいいのでしょう。

やりかけのコードのため、動くかはともかくとして、現状のソースを入れておき
ます。

#!/usr/bin/ruby
require 'mailread'
require 'socket'
require 'net/smtp'
include Net

QUEUEDIR="~/Mail/queue"

queue = File.expand_path(QUEUEDIR)

Dir.chdir(queue)
list = Dir["[0-9]*"].sort do |a, b|
  a.to_i <=> b.to_i
end

SMTP.start('localhost', 25) do |smtp|
  list.each do |item|
    print "sending #{item}..."
    m = Mail.new(item)
    from = m.header["From"]
    tmp_to = []
    tmp_to.push(m.header["To"])
    tmp_to.push(m.header["Cc"]) if m.header.include?("Cc")
    tmp_to.push(m.header["Bcc"]) if m.header.include?("Bcc")
    tmp_to.flatten!
    to = []
    tmp_to.each do |item|
      to.push(item.split(/\s*,\s*/))
    end
  end
  $stdout.flush
  smtp.ready(from, to) do |adapter|
    open(item).each do |line|
      adapter.write line
    end
  end
  print "OK.\n"
end

-- 
みらいちゃんを愛する人に悪い人はいません(c)おかのまりも
「みらいちゃん」って誰?な方は http://www.wdic.org で検索だだだ

佐藤 大輔/densuke@ga2.so-net.ne.jp

In This Thread

Prev Next