"Mark Hahn" <mchahn / facelink.com> writes: > Thanks. > > Any way to do this incrementally as mail comes in? > I can not think of an easy way to do this. I looked through the CDO docs and could not find anything mentioning a callback when mail arrives. This is not to say one does not exist in one of the other MAPI libraries. - Will With some cleanup... require 'win32ole' # Open a MAPI session session = WIN32OLE.new('Mapi.session') session.logon('William Sobel') # Get the INBOX loop do messages = session.inbox.messages messages.each do |m| if m.subject =~ /(\[ruby-talk:[0-9]+\] )(.+)/o # No reference number # m.subject = $2 # Reference number at end: subject = "#{$2} #{$1}" m.update end end messages = nil sleep(2) end