view nakamachi/mailtest.rb @ 462:aa75146ef679

cgimailtest
author FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
date Thu, 06 Feb 2014 20:57:32 +0900
parents f338f975bce5
children 87f862c27f84
line wrap: on
line source

#!/usr/bin/env ruby
# coding: euc-jp

require 'nkf'
require 'cgi'
require 'kconv'
require 'net/smtp'

cgi = CGI.new(:accept_charset=>"EUC-JP")

def sendmail(subject, body, sender, recipient)
  mail = ''
  # メールヘッダを作る
  mail << 'To: ' + recipient + "\n"
  mail << 'From: ' + sender + "\n"
  mail << 'Subject: ' + "skipメール" + "\n"
  mail << 'Date: ' + Time.now.strftime('%a, %d %b %Y %H:%M:%S %z') + "\n"
  mail << "\n"
  # メールの本文
  mail << body
  # 送信!
  Net::SMTP.start('localhost',25){|smtp|
    smtp.send_mail(mail, sender, recipient)
  }
end

store = cgi["store"].to_i
num = cgi["num"]

data = Hash.new
data.default = 0
ban = Array.new
n = 0

name= ["","八月","食い道楽","翠宛","ルポットフー","RAVI","綾","井筒","MAR"]

open("hoge.dat","r") do |hoge|
  while line = hoge.gets
    line = line.toeuc
    if /(\d+)\s+(\d+)\s+(\d+)\s+(\S+)/ =~ line
      ban[n] = $1.to_i
      data[$1.to_i] = $2.to_i,$3.to_i,$4
      n += 1
    end
  end
end

s = 0
while true
  if data[ban[s]][1] == 0
    break
  end
  s += 1
end

if num == "" || store < 1 || store > 8
  #入力不備
  text = "<html>\n
<head>\n
<title>Not find</title>\n
</head>\n
<body>\n
<h1>入力されていない部分があるか、間違っている場合があります。</h1>\n
<h1>正しく入力してやり直してください。</h1>\n
<p>個人コードは入っていますか?</p>
<p>店舗コードは1から8の間で選んでいますか?</p>
<p><a href=\"hoge.html\">もどる</a></p>\n
</body>\n
</html>\n"
elsif s >= 50
  #もう50枚クーポンでました
  text = "<html>\n
<head>\n
<title>Sorry</title>\n
</head>\n
<body>\n
<h1>申し訳有りません。</h1>\n
<p>もうクーポン50枚全て出てしまいました。<p>\n
<p>またの機会に。<p>\n
<p><a href=\"hoge.html\">もどる</a></p>\n
</body>\n
</html>\n"
else
  #使用済みにして処理します
  data[ban[s]][1] = store
  data[ban[s]][2] = num
  output = ''
  #output << "" + "\n"
  #output << "#{num}さんが#{name[store]}で#{s+1}番のクーポンを取得しました".gsub(/\n/, "\n ") + "\n"
  
  #NKF.nkf('-j -m0', output)
  
  #sendmail('skip mail', output,
  #         'skip@koeki-u.ac.jp', 'minami_hyou1229@docomo.ne.jp'){|body|
  #  NKF.nkf('-e -m0', body)}
  
  text = "<html>\n
<head>\n
<title>Conglatulation</title>\n
</head>\n
<body>\n
<h1>以下のQRコードを読み取るとクーポンが出てきます。</h1>\n
<p><img src=\"http://skip.koeki-prj.org/coupon/image/#{data[ban[s]][0]}.png\" alt=\"クーポン表示QRコード\"></p>\n
<p>個人コードとQRコードを読んで出てきたクーポンの番号を控えるようにしてください</p>\n
<p>消してしまった際の再表示や実際に受け取る際に用います。</p>
<p><a href=\"hoge.html\">もどる</a></p>\n
</body>\n
</html>\n"

  open("hoge.dat","w") do |write|
    for x in ban do
      write.printf("%s\t%s\t%d\t%s\n",x,data[x][0],data[x][1],data[x][2])
    end
  end
end

cgi.out('type' => 'text/html', 'charset' => 'euc-jp') {
  text
}

yatex.org