Howto decode encoded mail subjects?

Hi,

i need to parse mails. Some of the Mails in question use some ending
scheme to support sepcial characters which are not ASCII-7.

encoded chars look like this: =?UTF-8?Q?=20some text...?UTF-?Q?...

Is there a way to decode these subjects soemhow to real utf? Then I
could use Iconv to change the encoding as i like.

Any tips appreciated!

Cheers,

Steph.

Hi,

i need to parse mails. Some of the Mails in question use some ending
scheme to support sepcial characters which are not ASCII-7.

encoded chars look like this: =?UTF-8?Q?=20some text...?UTF-?Q?...

Is there a way to decode these subjects soemhow to real utf? Then I
could use Iconv to change the encoding as i like.

Half a year ago I wrote me a mail filter that does much more
than only decode header fields. I post some example code for
your task below.

I use the filter every day since last December. I provide it
as open source but I think nobody else is using it. So I
cannot estimate how good the documentation and the
installation tools are.

Bertram

ยทยทยท

Am Dienstag, 28. Aug 2007, 00:48:39 +0900 schrieb Stephan Mueller:

--------------------------------

require "bs-net/mail"
include BsNet

mb = MBox.new "~/Mail/lists/ruby-talk"

# Variant #1

froms = mb.map { |text|
  mail = Mail.new text
  mail.addrs( :from).map { |plain,long,group| long }
}
froms.flatten!
puts froms.uniq.sort

puts "-"*32

# Variant #2

froms = mb.map { |text|
  mail = Mail.new text
  mail.addrs_norm :from # plain lower case addresses
}
froms.flatten!
puts froms.uniq.sort

puts "-"*32

# Variant #3

froms =
mb.map { |text|
  mail = Mail.new text
  f = mail.addrs :from
  froms.concat f.to_a
}
froms.uniq.sort.each { |(plain,long,group)|
  puts "#{plain} -- #{long} -- #{group}"
}

--
Bertram Scharpf
Stuttgart, Deutschland/Germany
http://www.bertram-scharpf.de

Hi,

* Bertram Scharpf <lists@bertram-scharpf.de> [28.08.2007]:

Oops. I just forgot the link:

  <http://opensource.bertram-scharpf.de/sites/cropmail&gt;

thank you for providing the link. Maybe you should announce cropmail on
rubyforge to gain more users. I guess nowadays most people look on
rubyforge first when looking for ruby-related stuff.

Cheers,

Steph.