[#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:49691] Re: net/smtp sslでのwhileループメール送信

From: Taiki Kimura <taikimura8182@...>
Date: 2013-11-19 04:24:33 UTC
List: ruby-list #49691
たるいさん


コメントありがとうございます!

非常にありがたいアドバイスなのですが、基本的な知識が私に著しく欠如しているため、
インラインでいくつか質問させてください。

//全くもって、アドバイスを理解できていないと捉えられる質問があるかもしれませんが、ご容赦ください。。。


> メソッドの最初でbodyを更新してしまってるのが問題ですね。この更新した時のtoの値で確定してしまってます。

すみません、これは具体的にいうと、

body = NKF.nkf("-Wj", body).force_encoding("ASCII-8BIT")

この部分が問題、ということでしょうか?


> to毎に違う内容なので
> input.lines do |to|
> の中のto.chompの後でメッセージを作る必要があります。

> また、元のbodyを値を覚えておかないといけないので、やはり違う名前にする必要があるでしょう。

というこは、to = to.chompの後に、

--------------------------
mailbody = <<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

#{mailbody}
EOF
--------------------------
このような型値でメッセージをつくり、

s.send_message mailbody, from, to

みたいに呼ぶ、ということでしょうか?

ちなみに、その場合、def sendmail(from, to, subject, body)の下に
書いたbodyのヒアドキュメントは不要ということなのでしょうか???



> "fuga@bbb.net",
> って今つかってないですよね?そことsendmailメソッド引数のtoを取ると、今のbodyの更新の所ではtoなんてないよとエラーがでてくれます。

はい。fuga@bbb.netは使っておりません。

ちなみに、いまのスクリプトで、sendmailの呼び出し部分を次のように書いてみたのですが、

---------------------------------------
input = open("data.txt")
input.lines do |to|
to = to.chomp
sendmail("kimura@katamari.co.jp" ,"to", "めーるて", <<EOF)

日本語メールテスト

EOF
end
--------------------------

/usr/local/lib/ruby/1.9.1/net/smtp.rb:948:in `check_response': 554
Transaction failed: Missing final '@domain' (Net::SMTPFatalError)

というエラーがでます。

これは、sendmailの実引数?となる宛先アドレスを、
input.lines do |to|の中のtoでセットし、
data.txtファイルから1行ずつ宛先アドレスを読むことをイメージしているのですが、
これはやり方としてよいのでしょうか・・・・

In This Thread