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,

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

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}”
}

Hi Bertram,

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.

thanks for your examples on how to use bs-net. One question remains:
Where can i find bs-net? :slight_smile:

Cheers,

Steph.

Hi,

Am Dienstag, 28. Aug 2007, 14:18:10 +0900 schrieb Stephan M.:

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.

thanks for your examples on how to use bs-net. One question remains:
Where can i find bs-net? :slight_smile:

Oops. I just forgot the link:

http://opensource.bertram-scharpf.de/sites/cropmail

Bertram

Hi,

Oops. I just forgot the link:

http://opensource.bertram-scharpf.de/sites/cropmail

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.