Changeset 29384

Show
Ignore:
Timestamp:
02/01/09 19:28:13 (4 years ago)
Author:
mrkn
Message:

modify forwarding algorithm

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/misc/imap_fetch_and_forward.rb

    r20384 r29384  
    4545  end 
    4646 
    47   def forward(envelope, body) 
    48     mail = TMail::Mail.new 
    49     mail.from = @from 
    50     mail.to = @to 
    51     mail.date = Time.now 
    52     mail.subject = %Q[Forward: #{envelope.subject}] 
    53     mail.mime_version = '1.0' 
    54     body = body.collect {|line| %Q[> #{line}] }.join 
    55     forwarding_body = <<"END_BODY" 
    56 Following message was received via #{format_address(envelope.to[0])}: 
    57  
    58 > From: #{format_address(envelope.from[0])} 
    59 > Date: #{envelope.date.inspect} 
    60 > Subject: #{envelope.subject} 
    61 > 
    62 #{body} 
    63 END_BODY 
    64     mail.body = NKF.nkf('-j', forwarding_body) 
    65     mail.set_content_type 'text', 'plain', 'charset' => 'iso-2022-jp' 
    66     sendmail(mail) 
     47  def forward(orig) 
     48    fm = orig.create_forward 
     49    fm.from = @from 
     50    fm.to = @to 
     51    fm.date = Time.now 
     52    fm.mime_version = '1.0' 
     53    sendmail(fm) 
    6754  end 
    6855 
     
    9986imap.examine(imap_folder) 
    10087imap.search(%w[UNSEEN]).each {|mid| 
    101   envelope = imap.fetch(mid, 'ENVELOPE')[0].attr['ENVELOPE'] 
    102   body = imap.fetch(mid, 'BODY[TEXT]')[0].attr['BODY[TEXT]'] 
    103   forwarder.forward(envelope, body) 
     88  rfc822 = imap.fetch(mid, 'RFC822')[0].attr['RFC822'] 
     89  m = TMail::Mail.parse rfc822 
     90  forwarder.forward(m) 
    10491  imap.store(mid, '+FLAGS', [:Seen]) 
    10592}