新項(xiàng)目初期,沒什么完善的后臺系統(tǒng),想每天定時(shí)看看玩家充值情況,年前開始學(xué)了點(diǎn)ruby,就隨便搗鼓了個(gè)ruby訪問mysql然后發(fā)郵件的腳本。好久沒更新博客,先濫竽充數(shù)下,哈哈……
1 #!/usr/local/bin/ruby
2 #Author: sheppard(ysf1026@gmail.com) 2013-02-16
3 # Desc:
4 #
5 require 'rubygems'
6 require 'net/smtp'
7 require 'mysql'
8 total_money = 0
9 begin
10 con = Mysql.new _host, _user, _pwd, _dbname
11 (0..9).each do |i|
12 rs = con.query "select sum(order_money) ordermoney from table_#{i}"
13 total_money += rs.fetch_row[0].to_i
14 end
15 rescue Mysql::Error => e
16 puts e.errno
17 puts e.error
18 ensure
19 con.close if con
20 end
21 eval File.read("smtp-tls.rb")
22 msgstr = <<MESSAGE_END
23 From: monitor <XX@126.com>
24 To: sheppard <XX@XX.com>
25 Subject: money report
26 XX Project, total money: #{total_money}
27 MESSAGE_END
28 Net::SMTP.start('smtp.126.com', 25, '126.com', _mail_user_name, _mail_password, :plain) do |smtp|
29 smtp.send_message msgstr, 'XX@126.com', 'XX@XX.com'
30 end
參考的幾個(gè)網(wǎng)址家里沒FQ就先不給了。有空補(bǔ)上,或者大家有g(shù)oogle或者stackoverflow自己搜去吧~
說明:
1. Net::SMTP.start的第二個(gè)參數(shù)是mail服務(wù)器的smtp的端口,各郵件服務(wù)提供商的可能會不能,例如google的就不是這個(gè)25。
ps:2013年2月24日我在CU的博文
補(bǔ)充:send_email抽出到:https://github.com/yangsf5/ruby-part/tree/master/product/send_email