2013-07-12 更新
Send Email 模块已经抽象提取到:
1
| https://github.com/yangsf5/ruby-part/tree/master/product/send_email
|
原博文
新项目初期,没什么完善的后台系统,想每天定时看看玩家充值情况,年前开始学了点 Ruby,就随便捣鼓了个 Ruby 访问 MySQL 然后发邮件的脚本。好久没更新博客,先滥竽充数下,哈哈。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| require 'rubygems' require 'net/smtp' require 'mysql' total_money = 0 begin con = Mysql.new _host, _user, _pwd, _dbname (0..9).each do |i| rs = con.query "select sum(order_money) ordermoney from table_#{i}" total_money += rs.fetch_row[0].to_i end rescue Mysql::Error => e puts e.errno puts e.error ensure con.close if con end eval File.read("smtp-tls.rb") msgstr = <<MESSAGE_END From: monitor <XX@126.com> To: sheppard <XX@XX.com> Subject: money report XX Project, total money: #{total_money} MESSAGE_END Net::SMTP.start('smtp.126.com', 25, '126.com', _mail_user_name, _mail_password, :plain) do |smtp| smtp.send_message msgstr, 'XX@126.com', 'XX@XX.com' end
|
参考的几个网址家里没翻墙就先不给了。有空补上,或者大家有 Google 或者 Stack Overflow 自己搜去吧。
说明:
Net::SMTP.start
的第二个参数是 Email 服务器的 SMTP 的端口,各邮件服务提供商的可能会不同,例如 Google 的就不是这个 25。