Sheppard Y

keep thinking keep coding.

ruby send e-mail & mysql

2016-07-07 日更新 
此篇博客已经迁移到新博客,并做行文检查和优化排版:
http://blog.clawz.me/2013/02/24/13-ruby-send-email-query-mysql/

 


新项目初期,没什么完善的后台系统,想每天定时看看玩家充值情况,年前开始学了点ruby,就随便捣鼓了个ruby访问mysql然后发邮件的脚本。好久没更新博客,先滥竽充数下,哈哈……

 

 

 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
参考的几个网址家里没FQ就先不给了。有空补上,或者大家有google或者stackoverflow自己搜去吧~

 

说明:

1. Net::SMTP.start的第二个参数是mail服务器的smtp的端口,各邮件服务提供商的可能会不能,例如google的就不是这个25。

ps:2013年2月24日我在CU的博文

补充:send_email抽出到:https://github.com/yangsf5/ruby-part/tree/master/product/send_email

posted on 2013-04-08 18:28 Sheppard Y 阅读(401) 评论(0)  编辑 收藏 引用 所属分类: 其他语言


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2013年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

留言簿(1)

随笔分类(77)

随笔档案(58)

me

基友

同行

业界前辈

最新随笔

搜索

积分与排名

最新评论

阅读排行榜