HTTP Email charset - wo liegt das Problem ?



  • Abend Leute.

    Ich versuche im Augenblick ein Programm zu schreiben, welches mir über POP3 meine Emails ausliest. So weit klappt auch alles ganz gut.

    Die Daten werden in einen Buffer geschrieben - wobei ich den HTML Teil gesondert filtere. Dieser sieht dann etwa so aus:

    <html>
    
    <head>
    <title>Newsletter-Template - TuneUp1</title>
    <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8">
    </head>
    <body bgcolor=3D"#d4d8e1" leftmargin=3D"0" topmargin=3D"0" marginwidth=3D"0=
    " marginheight=3D"0">
    <table width=3D"100%" bgcolor=3D"#d4d8e1" border=3D"0" cellpadding=3D"0" ce=
    llspacing=3D"0">
    =09<tr>
    =09=09<td align=3D"center">
    =09=09=09<table width=3D"600" border=3D"0" cellpadding=3D"0" cellspacing=3D=
    "0" align=3D"center">
    =09=09=09=09<tr>
    =09=09=09=09=09<td align=3D"center" style=3D"padding:10px"><font face=3D"ar=
    ial,helvetica,sans-serif" color=3D"#000000" size=3D"1" style=3D"font-size:1=
    0px">Diese E-Mail wird nicht richtig dargestellt? <a href=3D"http://newslet=
    ter.tuneup.de/re?l=3D6mcz6hI1utkyzqI5&req=3Dtsp%3D1249048620481%26custid%3D=
    268%26uid%3D4040454950%26sig%3DHHHFDNOAIJIALDLK%26mid%3D400354073" style=3D=
    "color:#1b4aa9">Hier klicken</a></font></td>
    =09=09=09=09</tr>
    =09=09=09</table>
    =09=09=09<table width=3D"600" cellspacing=3D"0" cellpadding=3D"0" border=3D=
    "0" align=3D"center">
    =09=09=09=09<tr>
    =09=09=09=09=09<td><table width=3D"600" cellspacing=3D"0" cellpadding=3D"0"=
     border=3D"0" align=3D"center">
    =09=09=09=09<tr>
    =09=09=09    =09<td height=3D"95"><img src=3D"http://pics.domeus.com/tuneup=
    /cms/header_de_2009.jpg" width=3D"600" height=3D"94" alt=3D""></td>
    =09=09=09=09</tr>
    =09=09=09</table>
    =09=09=09</td>
    =09=09</tr>
    =09=09<tr>
    =09=09=09<td><table width=3D"600" cellspacing=3D"0" cellpadding=3D"0" borde=
    r=3D"0" align=3D"center">
    =09=09=09<tr>
    =09=09=09    <td align=3D"left" bgcolor=3D"#FFFFFF" height=3D"25" style=3D"=
    background-image: url(http://pics.domeus.com/tuneup/cms/bg_head.gif); font-=
    family: Arial,Helvetica,sans-serif; font-size: 12px; color:000000;padding-l=
    eft: 10px;">TuneUp Utilities 2009 f=C3=BCr 3 PCs &amp; USB-Stick!</td>
    =09=09=09    <td bgcolor=3D"#FFFFFF" align=3D"right" style=3D"background-im=
    age: url(http://pics.domeus.com/tuneup/cms/bg_head.gif)"><font face=3D"aria=
    l,helvetica,sans-serif" color=3D"#000000" style=3D"font-size:12px;">31.07.2=
    009</font>&nbsp;&nbsp;&nbsp;</td>
    =09=09=09
    =09=09=09</tr>
    =09=09=09<tr>
    =09=09=09=09
    =09=09=09    <td colspan=3D"2"><img src=3D"http://pics.domeus.com/tuneup/cm=
    s/gradient.jpg" width=3D"600" height=3D"22" alt=3D"" border=3D"0"></td>
    =09=09=09</tr>
    =09=09=09</table></td>
    =09=09=09</tr>
    =09=09</table>
    =09=09
    =09=09=09
    =09=09=09=09
    =09=09=09
    =09=09=09=09
    =09=09=09
    =09=09
    
    =09=09=09
    
    =09=09=09
    =09=09=09
    =09=09=09
    =09=09=09
    =09=09=09
    =09=09=09
    =09=09=09
    =09=09=09<table width=3D"600" border=3D"0" cellspacing=3D"0" cellpadding=3D=
    "0" align=3D"center" bgcolor=3D"#FFFFFF">
    =09=09=09<tr>
    =09=09=09   =20
    =09=09=09    <td width=3D"600">
    =09=09=09
    =09=09=09<table width=3D"600" cellspacing=3D"0" cellpadding=3D"0" border=3D=
    "0">
    =09=09=09<tr>
    =09=09=09    <td colspan=3D"2" align=3D"left"><a href=3D"http://newsletter.=
    tuneup.de/re?l=3D6mcz6hI1utkyzqI6" target=3D"_blank"><img src=3D"http://new=
    sletter.tuneup.de/imgproxy/img/807034570/jpg.jpeg" alt=3D"TuneUp Utilities =
    2009 f=C3=BCr 3 PCs & USB-Stick*!  Mehr Speicher: 1GB 2.0 USB-Stick Mehr Nu=
    tzen: f=C3=BCr bis zu 3 PCs Mehr zum selben Preis: nur 39,95 &euro;" width=
    =3D"600" height=3D"203" border=3D"0"></a></td>
    =09=09=09</tr>
    =09=09=09<tr>
    =09=09=09    <td><img src=3D"http://pics.domeus.com/tuneup/cms/spacer.gif" =
    width=3D"300" alt=3D"" height=3D"1" border=3D"0"></td>
    =09=09=09    <td><img src=3D"http://pics.domeus.com/tuneup/cms/spacer.gif" =
    width=3D"300" alt=3D"" height=3D"1" border=3D"0"></td>
    =09=09=09</tr>
    =09=09=09</table>
    =09=09=09=09</td>
    =09=09=09</tr>
    =09=09=09<tr>
    =09=09=09    <td><img src=3D"http://pics.domeus.com/tuneup/cms/spacer.gif" =
    width=3D"600" alt=3D"" height=3D"15" border=3D"0"></td>
    =09=09=09</tr>
    =09=09=09</table>
    =09=09=09
    =09=09=09=09
    =09=09=09
    </html>
    

    Aus diesem Text filtere ich den Charset und konvertiere ihn so:

    System::Text::Encoding^ enciso885915	= Encoding::GetEncoding (28605);							// <-- ISO-8859-15	Encoding erzeugen
    	System::Text::Encoding^ enciso88591		= Encoding::GetEncoding (28591);							// <-- ISO-8859-1	Encoding erzeugen
    	System::Text::Encoding^ enc1252			= Encoding::GetEncoding ("Windows-1252");					// <-- Windows1252
    
    	if (emailcharset->Contains ("8859-15")		|| emailcontent->Contains ("8859-15")	== TRUE)
    		{ 		
    		String^ bigbufferstring		= enciso885915->GetString ( bigbuffer );
    		return bigbufferstring;
    		}	
    	if (emailcharset->Contains ("8859-1")		|| emailcontent->Contains ("8859-1")	== TRUE)
    		{		
    		String^ bigbufferstring		= enciso88591->GetString ( bigbuffer );
    		return bigbufferstring;
    		}	
    ...
    ...
    

    Leider scheint das alles so nicht zu funktionieren - sonst würd ich euch ja auch nicht fragen. Wenn ich den Inhalt des Buffers nun im webBrowser Element anzeigen lassen will, erhalte ich folgende Ausgabe:

    =09 =09=09 =09=09=09=09=09=09=09 =09=09=09=09=09 Diese E-Mail wird nicht richtig dargestellt? Hier klicken =09=09=09=09 
    =09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09 =09=09=09 =09  =09=09=09=09 
    =09=09=09
    

    Der Aufbau an sich sieht bereits gut aus, nur eben die Text werden nicht richtig dargestellt. Habt ihr hier wieder einmal eine Idee?


Anmelden zum Antworten