jenix 发表于 2013-1-15 02:28:59

Ruby操作outlook清理邮箱

原本准备用imap或者webdav写的,结果公司exchange服务器没开webdav~怒了~写了个winole32的。。。
require 'win32ole'outlook = WIN32OLE.new('Outlook.Application')mapi = outlook.GetNameSpace('MAPI')inbox = mapi.GetDefaultFolder(6)puts "You have #{inbox.UnreadItemCount} unread messages"@junk_sender = ["Training Assistant", "Activeupdate Team", "cloud9qa@gmail.com", "iauoperation@trendmicro.com.cn",\"594_Auto_Detect_New_Pattern_System@trendmicro.com", "TeamTrack-TW@trendmicro.com", "594lab_WebManager", "Helpdesk", "CN OS Admin","all_tw_autobuild@dl.trendmicro.com"\"PH SLO Report Team", "Xinweihan"]@junk_subject = ["joke", "spam", "PRE-OPR", "UPLOAD DONE", "Trend Micro Advisory"]def delete_junkmails(i)if message.SenderName =~/#{@junk_sender}/i      puts "deleting mail #{message.SenderName}-#{message.Subject}"message.Delete    endendinbox.Items.Count.downto(1) do |i|    message = inbox.Items(i)mark_delete = false@junk_sender.each do |s|if message.SenderName =~/#{s}/iputs "deleting mail #{message.SenderName}-#{message.Subject}"mark_delete = trueendend@junk_subject.each do |s|if message.Subject =~/#{s}/iputs "deleting mail #{message.SenderName}-#{message.Subject}"mark_delete = trueendendif mark_deletemessage.Deleteendend
页: [1]
查看完整版本: Ruby操作outlook清理邮箱