文章目录
  1. 1. 2013-07-12 更新
  2. 2. 原博文

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
#!/usr/local/bin/ruby 
                 
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, :plaindo |smtp| 
  smtp.send_message msgstr, 'XX@126.com''XX@XX.com'
end

参考的几个网址家里没翻墙就先不给了。有空补上,或者大家有 Google 或者 Stack Overflow 自己搜去吧。

说明:

  • Net::SMTP.start的第二个参数是 Email 服务器的 SMTP 的端口,各邮件服务提供商的可能会不同,例如 Google 的就不是这个 25。
文章目录
  1. 1. 2013-07-12 更新
  2. 2. 原博文