作者: Kazuhiro NISHIYAMA
日時: 2005/8/06(00:05)
西山和広です。

>>>>> On Fri,  5 Aug 2005 12:17:36 +0900 (JST)
>>>>> wtnabe@...(ねこ丸)  said:
> 
>   今度は送信なのですが、
> 
> http://www.ruby-lang.org/ja/man/?cmd=view;name=net%2Fsmtp.rb;em=net%2Fsmtp
> 
>   に
> 
> # example
> Net::SMTP.start( 'your.smtp.server' ) {|smtp|
>     smtp.send_mail mail_string,
>                    'from@...',
>                    'dest@...' 'dest2@...'
> }
> 
>   というサンプルが載っています。
>   これ、動かないような気がするんですが?

結論としては「,」が抜けているだけのようなので、
rwikiの方は直しておきました。


>   具体的には send_mail( mailsrc, from_addr, *to_addrs ) の部分で、
>   *to_addrs は 
> 
> 'addr1', 'addr2', ...
> ['addr1', 'addr2', ...] (ネストしてても ok のはず)
> 
>   のいずれかでないとまずいような気がします。よく分かっていないのですが、
> 
> 'addr1' 'addr2'
> 
>   の書き方では
> 
> /usr/lib/ruby/1.6/net/protocol.rb:161:in `error!': 550
> 
>   と言われ、
> 
> 'addr1addr2'
> 
>   の形で渡っているようです。(Ruby 1.6.7 で確認)
> 
>   何か私が勘違いしているのでしょうか?

これは

http://www.ruby-lang.org/ja/man/?cmd=view;name=%A5%EA%A5%C6%A5%E9%A5%EB#a.ca.b8.bb.fa.ce.f3.a5.ea.a5.c6.a5.e9.a5.eb
| 空白を間に挟んだ文字列リテラルは、コンパイル時に1つの
| 文字列リテラルと見倣されます。

ということだと思います。


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