您的位置:首页 > 其它

获取RSS并发送到指定邮箱

2012-07-20 19:18 381 查看
require 'rss/2.0'
require 'open-uri'
require 'rss/converter'
require 'net/smtp'

FROM_ADDRESS = "fromaddress@163.com"#请填入自己的邮箱地址
TO_ADDRESS = ["toaddress@163.com","toaddress@qq.com"]#请填入对方的邮箱地址,可以填写多个,用逗号分开
SMTP_HOST = "smtp.163.com"#SMTP服务器地址
USER_NAME = FROM_ADDRESS#用户名
PASSWORD = "password"#密码
SMTP_PORT = 25#SMTP服务器端口
def mysendmail(to, subject, msg)
mail = "To: #{to}\r\n" +
"From: #{FROM_ADDRESS}\r\n" +
"Subject: #{subject}\r\n" +
"\r\n" +
msg

Net::SMTP.start(SMTP_HOST, SMTP_PORT,FROM_ADDRESS,USER_NAME, PASSWORD,:login) do |smtp|
smtp.send_mail(mail, FROM_ADDRESS,to)
end
end

conv = RSS::Converter.new("GBK")
#在这里填入要获取的RSS地址,可以填入多个,用逗号分开
urls = ['http://www.youku.com/index/rss_cool_v']
urls.each do |url|
feed = RSS::Parser.parse(open(url).read, false)
mailsubject = conv.convert("#{feed.channel.title}")
mailcontent = ""
feed.items.each do |item|
mailcontent += conv.convert(item.title) + "\n"
mailcontent += "( #{item.link} )" + "\n\n"
end
TO_ADDRESS.each do |toaddr|
mysendmail(toaddr,mailsubject,mailcontent)
end
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  rss 服务器 user login url