Hi, Am Dienstag, 28. Aug 2007, 00:48:39 +0900 schrieb Stephan Mueller: > 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 -------------------------------- 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