[#49662] net/smtp sslでのwhileループメール送信 — Taiki Kimura <taikimura8182@...>

はじめまして 木村といいます。

32 messages 2013/11/12
[#49663] Re: net/smtp sslでのwhileループメール送信 — Jun'ya Shimoda <junshimo2@...> 2013/11/12

下田と申します。

[#49664] Re: net/smtp sslでのwhileループメール送信 — Taiki Kimura <taikimura8182@...> 2013/11/12

下田さん

[#49665] Re: net/smtp sslでのwhileループメール送信 — Jun'ya Shimoda <junshimo2@...> 2013/11/12

(2013/11/12 19:56), Taiki Kimura wrote:

[#49666] Re: net/smtp sslでのwhileループメール送信 — Taiki Kimura <taikimura8182@...> 2013/11/12

下田さん

[#49668] Re: net/smtp sslでのwhileループメール送信 — Jun'ya Shimoda <junshimo2@...> 2013/11/12

> なるほど。

[#49669] Re: net/smtp sslでのwhileループメール送信 — Taiki Kimura <taikimura8182@...> 2013/11/13

下田さん

[#49671] Re: net/smtp sslでのwhileループメール送信 — Taiki Kimura <taikimura8182@...> 2013/11/14

お世話になっております。

[#49674] Re: net/smtp sslでのwhileループメール送信 — SATOH Fumiyasu <fumiyas@...> 2013/11/14

さとうふみやす @ OSSTech です。

[#49676] Re: net/smtp sslでのwhileループメール送信 — SATOH Fumiyasu <fumiyas@...> 2013/11/14

さとうふみやす @ OSSTech です。

[#49678] Re: net/smtp sslでのwhileループメール送信 — Taiki Kimura <taikimura8182@...> 2013/11/14

さとうさん

[#49679] Re: net/smtp sslでのwhileループメール送信 — Taiki Kimura <taikimura8182@...> 2013/11/18

お世話になっています。

[#49681] Re: net/smtp sslでのwhileループメール送信 — Jun'ya Shimoda <junshimo2@...> 2013/11/18

下田です。

[#49688] Re: net/smtp sslでのwhileループメール送信 — Masaya TARUI <tarui@...> 2013/11/19

たるいといいます。

[#49705] sprintfフォーマットについて — Hikaru Seki <seki.p.hikaru@...>

23 messages 2013/11/30

[ruby-list:49662] net/smtp sslでのwhileループメール送信

From: Taiki Kimura <taikimura8182@...>
Date: 2013-11-12 04:10:12 UTC
List: ruby-list #49662
はじめまして 木村といいます。


こちらのサイトを参考にして、
http://okochang.hatenablog.jp/entry/2012/07/02/122412

RubyスクリプトからAWSのSESを経由して年末年始の挨拶メールを
1度の処理で複数の宛先に送信しようと試みております。


Rubyのバージョンは、1.9.3です。


上記サイトのスクリプトをほとんどそのままコピーし、
テストとして任意のメールアドレス1つにメールを送信したところ、
問題なくメール送信できました。

そこで、今度は、data.txtにメールアドレスだけを改行区切りで幾つか書いて、
次のように、スクリプトの主要部分にwhileループを入れてみたのですが、

++++++++++++++++++++++++++++++
input = open("data.txt")
while to = input.gets
msg =<<EOF
From: #{from}
To: #{to}
Subject: SES-Testmail
Date: #{Time.now.rfc2822}

テストメール
\r\n
EOF

smtp = Net::SMTP.new(HOST, PORT)
smtp.enable_ssl
 smtp.start(HELO, ACCESS_KEY, SECRET_KEY, :plain) {|smtp|
   smtp.send_message msg, 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 smtp-sesmail.rb:32:in `<main>'


SESサービスの1秒あたりの送信制限(1通/1秒)にひっかかったのかとおもい、
data.txtにメールアドレスを1つだけ書いて試してみましたが、
それでも同様のエラーが出力されメールは送信されませんでした。


これがどのような理由で待通りの動作をしないのか、
どなたか推測がつくようでしたらアドバイスいただけると大変幸いです。


よろしくお願いします。

In This Thread

Prev Next