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

From: Taiki Kimura <taikimura8182@...>
Date: 2013-11-12 10:56:51 UTC
List: ruby-list #49664
下田さん


具体的なコードを書いていただきありがとうございます!


基本的なことがまだまだ全然理解できていないので、
まずはご教示いただいたコードを読み解きその次に実際のメール送信に進んでみたいと思います。


> 送信先をヒアドキュメントにしましたが
> ファイルへの応用も頑張ってください。

はい。がんばりますw


1点、ちょっとだけ確認させていただきたいのですが、


> # fromとtoからメッセージ本文を作って返す
> def msg(from, to)
>   return <<EOF
> From: #{from}
> To: #{to}
> Subject: SES-Testmail
> Date: #{Time.now.to_s}
>
> テストメール
>
> EOF
> end
>
> # to_listの各行を処理
> to_list.lines do |to|
>   # 簡略化のため表示のみ
>   puts msg(from, to)
> end

実際にメールを送信するとなると、
上記のような定義と以下のようなメール送信処理を組み合わせると思うのですが、

----------------------------------------------
smtp = Net::SMTP.new(HOST, PORT)
smtp.enable_ssl
 smtp.start(HELO, ACCESS_KEY, SECRET_KEY, :plain) {|smtp|
   smtp.send_message mailbody, from, to_addr
}
----------------------------------------------

この時、

・msgというメソッドをsmtp.send_messagからメールの本文として呼び出す?
・to_listのヒアドキュメントから宛先アドレスを1行ずつ読み込んでsmtp.send_messagにセットする?


という処理を行う必要があるということですよね?


で、その場合、smtp.send_messagの後に、
ただ単に「msg」とメソッド名を書いてもメール本文にはならず、
また、tsmtp.send_messagの後にto_list.linesと指定するのも絶対に違うと思うのですが、
違うと予想はついても、そこから具体的なコードをイメージするような知識と経験がまだないので、
厚かましいようで大変恐縮なのですが、この点についても何かしらヒントを貰えると大変助かります。。。



以上、よろしくお願いします。





>
> (2013/11/12 13:10), Taiki Kimura wrote:
>> while to = input.gets
>> msg =<<EOF
> ・・・
>> smtp = Net::SMTP.new(HOST, PORT)
> ・・・
>> end
>
> whileでヒアドキュメント定義したり
> メール送信する処理などが混在してるのは
> 良くないですね。
>
> 定義と処理を分けて
> do〜endは最小限にしましょう。
>
>
> --
>
> begin
>             Name:     下田 純也 (Jun'ya Shimoda)
>  A   A      e-mail:   junshimo2@gmail.com
> (o'.'o) _/  Twitter:  http://twitter.com/JironBach/
> (> ~ <)/    Facebook: http://www.facebook.com/junya.shimoda
>             Github:   https://github.com/JironBach
> rescue
>   CrowdWorks: https://crowdworks.jp/public/employees/57377
> ensure
>   Blog: http://d.hatena.ne.jp/JironBach/
> end

In This Thread