[#49655] 東京Ruby忘年会2013のお誘い — TAKAHASHI Kazunari <takahashi@1syo.net>
いっしょうと申します
1 message
2013/11/02
[#49657] Rubyリファレンス chm版リミックス更新(2013年11月版) — Dice <tetradice@...>
こんにちは。Diceです。
1 message
2013/11/04
[#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
たるいといいます。
[#49689] Re: net/smtp sslでのwhileループメール送信
— Taiki Kimura <taikimura8182@...>
2013/11/19
下田さん たるいさん
[#49690] Re: net/smtp sslでのwhileループメール送信
— Masaya TARUI <tarui@...>
2013/11/19
メソッドの最初でbodyを更新してしまってるのが問題ですね。この更新した時のtoの値で確定してしまってます。
[#49691] Re: net/smtp sslでのwhileループメール送信
— Taiki Kimura <taikimura8182@...>
2013/11/19
たるいさん
[#49692] Re: net/smtp sslでのwhileループメール送信
— Masaya TARUI <tarui@...>
2013/11/19
たるいです。
[#49670] Re: net/smtp sslでのwhileループメール送信
— "-E:), niku" <niku@...>
2013/11/14
にくです
[#49680] apacheでruby 2.0を使う — 夏目祐樹 <em.s.00001@...>
初めまして、夏目祐樹といいます。
6 messages
2013/11/18
[#49705] sprintfフォーマットについて — Hikaru Seki <seki.p.hikaru@...>
23 messages
2013/11/30
[#49706] Re: sprintfフォーマットについて
— Masaya TARUI <tarui@...>
2013/11/30
たるいといいます。
[#49707] Re: sprintfフォーマットについて
— OZAWA Sakuro <sakuro@2238club.org>
2013/11/30
バイナリ値を扱うなら sprintf よりは pack&unpack の出番かもしれません。
[#49709] Re: sprintfフォーマットについて
— dezawa <dezawa@...>
2013/12/01
出沢です
[ruby-list:49698] Re: net/smtp sslでのwhileループメール送信
From:
Masaya TARUI <tarui@...>
Date:
2013-11-19 11:45:00 UTC
List:
ruby-list #49698
クオートについては、まずは、例えば、
i=1
p i
p "i"
p "#{i}"
を実行してみて違いを考えてみてください。
最後の物はRubyで特徴的な書き方で式展開といいます。
慣れると大変便利です。
> 1通あたり複数のメールが届いてしまったり、
> 本文にbodyヒアドキュメントがセットされたりするのは、
> 私の書き方に問題があるからなのですよねぇ。。。
こちらの方は上手く説明できる自信がないので申し訳ないのですが、
bodyに対して body = "header " + body というような事を何回も実行してる
状態になってまして、
i = 1
p i
i = i+1
p i
i = i+1
p i
を実行したら、 1,2,3と表示されるのと同じで
最初 body = "本文"なのがeachのループにつれて
body = "header header header 本文"
みたいになってます。
なので、ヘッダーをつける段階からbodyと違う変数名を使わないといけません。
mailbody <<EOT
ほげほげ
#{body}
<<EOT
としてやれば、bodyの中身は変わらずに次も正しくbodyを参照出来る事になります。
2013年11月19日 17:55 Taiki Kimura <taikimura8182@gmail.com>:
>> sendmail("kimura@katamari.co.jp" ,to, "めーるて", <<EOF)
>> の間違えですね。
>
> これは、変数をメソッドの実引数に指定する場合クォートしない、という理解をしてもよいのでしょうか。
>
> で、とりあえずのテストとして、body=の部分とbodyのヒアドキュメントの位置は変更せず、
> たるいさんから教えていただいたように、
> sendmailの実引数のtoを「クォート無し」にして試したら期待通りの動作になりました。
>
>>bodyのヒアドキュメントとbody = NKF.nkf("-Wj", body).force_encoding("ASCII-8BIT")
>>を、to=to.chompの後ろに移動した上で、
>
> 次に、こちらのアドバイスをもとに次のように書き換えたところ、
>
> ---------------------------------------------------
> def sendmail(from, to, subject, body)
>
> smtp = Net::SMTP.new(HOST, PORT)
> smtp.enable_ssl
>
> input = open("data.txt")
> input.lines do |to|
> to = to.chomp
>
> body = <<EOF
> From: #{from}
> To: #{to}
> Subject: #{NKF.nkf("-WMm0j", subject)}
> Date: #{Time.now.rfc2822}
> Mime-Version: 1.0
> Content-Type: text/plain; charset=ISO-2022-JP
> Content-Transfer-Encoding: 7bit
>
> #{body}
> EOF
> mailbody = NKF.nkf("-Wj", body).force_encoding("ASCII-8BIT")
> smtp.start(HELO, ACCESS_KEY, SECRET_KEY, :plain) do |s|
> s.send_message mailbody, from, to
> end
> end
> end
>
> tolist = open("data.txt")
> tolist.lines do |toaddr|
> toaddr = toaddr.chomp
> sendmail("hoge@aaa.net ,toaddr, "めーるて", <<EOF)
>
> 日本語メールテスト
>
> EOF
> end
> ---------------------------------------------------
>
> いま、data.txtに宛先メールアドレスを4つ書いているのですが、
> このスクリプトを実行するとアドレスあたり4通のメールが届きます。
>
> また、届いたメールの本文にはそれぞれ次のような感じで、
> sendmailメソッドの実引数になっているヒアドキュメントと
> bodyヒアドキュメントがセットされたメールが届いてしまっております。。。
>
> ---------------------------------------------------
> From: hoge@aaa.net
> To: aaaaa@iiiiiii.co.jp
> Subject: めーるて
> Date: Tue, 19 Nov 2013 17:38:36 +0900
> Mime-Version: 1.0
> Content-Type: text/plain; charset=ISO-2022-JP
> Content-Transfer-Encoding: 7bit
>
> From: hoge@aaa.net
> To:bbbbb@iiiiiii.co.jp
> Subject: めーるて
> Date: Tue, 19 Nov 2013 17:38:33 +0900
> Mime-Version: 1.0
> Content-Type: text/plain; charset=ISO-2022-JP
> Content-Transfer-Encoding: 7bit
>
>
> 日本語メールテスト
> ---------------------------------------------------
>
> 1通あたり複数のメールが届いてしまったり、
> 本文にbodyヒアドキュメントがセットされたりするのは、
> 私の書き方に問題があるからなのですよねぇ。。。
--
樽家昌也(Masaya TARUI)
No Tool,No Life.