decode von Subject string
Hallo,
ich bekomme über meinen pop3 client solche subjects: =?UTF-8?Q?Re=3A_Pr=C3=A4sentation_Vorstellung_Landesverb and?= Hier der Header der Mail:
Delphi-Quellcode:
Kann man dieses Subjekt irgendwie Decodieren, damit die Umlaute usw. "lesbar" sind?
Return-Path: <xxxuff@gmail.com>
Delivered-To: info@josxxx.de Received: from mx-g.one.com (mx-g.one.com [91.198.169.54]) by mail123.local (Postfix) with ESMTP id D92603005ED11D for <info@xxxller.de>; Thu, 20 Feb 2014 20:45:42 +0000 (UTC) X-Virus-Scanned: by one.com Received-SPF: pass (mx-g: domain of xxxff@gmail.com designates 74.125.82.47 as permitted sender) X-Greylist: whitelisted by SQLgrey-1.8.0-rc2 Received: from mail-wg0-f47.google.com (mail-wg0-f47.google.com [74.125.82.47]) by mx-g.one.com (Postfix) with ESMTP id A4B516B1FF6 for <info@xxxxxxler.de>; Thu, 20 Feb 2014 20:45:42 +0000 (UTC) Received: by mail-wg0-f47.google.com with SMTP id k14so1848194wgh.2 for <info@xxxxler.de>; Thu, 20 Feb 2014 12:45:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=kePgPJndte4B+tnI5lCbLF/EPJfnFQXnVFqiSseyyAU=; b=pmdJPwp6pmG0g4kxQmJbAFIuA51syPBrdL6x0vGZFH6qA+xTKH+4dlZQwXlsHdMgvo UJM13k4zv6msEflxwF36MvoaKkEGCdV8o2DsobNYXffiKMF6AB7Jv6rOYoMw2V7iNi/p oJnrajGYHRkP1DZqqMgui1ut99tNLWL1gRnhuNKx8frD/lNOwbJDNIr++xuikBMV8Q6z Ys82ndckbfDBVEw7nsIQ5BZxdpPJvWLzAmUx1+DOsHzxq6SE6Yo+iv0JTcIS4ZzNSm0h Z5MMHZm4eDrjr2nUBsfe0sSM161x+cJF4cq5oTeRFN3H5rEcfOu7dxx7paA512nj64n7 PWHg== MIME-Version: 1.0 X-Received: by 10.180.189.139 with SMTP id gi11mr113681wic.53.1392929142344; Thu, 20 Feb 2014 12:45:42 -0800 (PST) Received: by 10.194.222.5 with HTTP; Thu, 20 Feb 2014 12:45:42 -0800 (PST) In-Reply-To: <53032E01.1080203@googlemail.com> References: <53032E01.1080203@googlemail.com> Date: Thu, 20 Feb 2014 21:45:42 +0100 Message-ID: <CA+Ks15WK25kNtP2J_WcpyA7vNq+QatA+JGvoCLqA29urCxTqKg@mail.gmail.com> Subject: =?UTF-8?Q?Re=3A_Pr=C3=A4sentation_Vorstellung_Landesverband?= From: Stefan xxx <xxxff@gmail.com> To: Roland Friedrich <xxx.rol@googlemail.com> Cc: "info@josefkoller.de" <info@xxxxer.de> Content-Type: multipart/alternative; boundary=001a11c34908ba10bb04f2dc9626 --001a11c34908ba10bb04f2dc9626 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Eigentlich müßte das Subject statt =?UTF-8?Q?Re=3A_Pr=C3=A4sentation_Vorstellung_Landesverb and?= so lauten: Re: Präsentation Vorstellung Landesverband Danke Josef P.S. Ich hab's schon mit allen möglichen Funktionen probiert (einschließlich der Funktionen von synachar (bei Synapse Ararat dabei). Es klappt einfach nicht. |
AW: decode von Subject string
Das besagt, dass der Text in Quoted printable decodiert wurde und einen UTF-8 Zeichensatz repräsentiert.
Du musst daher zunächst dekodieren (z.B. mit den Indys mit TIdecoderQuoted-Printable) und dann mit UTF8ToAnsi den Zeichensatz umwandeln, falls Du mit Nicht-Unicode-fähigem Delphi arbeitest, bzw. mit älteren Indys, die das beim dekoden noch nicht gleich mit erledigen können. |
AW: decode von Subject string
Das ist noch etwas komplizierter, denn es kann nicht nur UTF8 ankommen.
Es dreht sich hier um die RFC 1342. Es können auch andere Charsets ankommen z.B. ISO-8859-1 und ähnliche. ggf. werden diese auch ggf. Mime/Base64 kodiert.
Code:
=?<Charset>?<Encoding>?<Content>?=
=?UTF-8?Q?Re=3A_Pr=C3=A4sentation_Vorstellung_Landesverband?=
Encoding: B = base64 Q = quoted-printable |
AW: decode von Subject string
Hallo,
Danke für die Hinweise. Letztlich hat mich nur das Durchprobieren von verschiedenen Varianten weitergebracht. Ich hab's mit meinem eigenen Mail client jetzt so gemacht: Versenden von Mails:
Delphi-Quellcode:
oSmtpClient.BodyAsHtml.Text := UTF8Decode(sendText); //sendText ist der Inhalt eines Memos
Zum Abholen der Mail hab ich dann die folgenden Zeilen:
Delphi-Quellcode:
Mit UTF8Decode(sendText) kommt die Mail sowohl bei gmail, als dann auch bei mir mit
pop.RetrStream(StrToInt(tmpuidl), retrStream);
retrStream.Position := 0; mess.Lines.LoadFromStream(retrStream); mess.DecodeMessage; mess.MessagePart.DecomposeParts; showmessage(AnsiToUtf8(DecodeQuotedPrintable(mess.Header.Subject))); mess.MessagePart.Headers.SaveToStream(headerStream); mess.MessagePart.PartBody.SaveToStream(bodyStream); headerStream.Position:=0; bodyStream.Position:=0; headerSL.LoadFromStream(headerStream); // ab hier weiter mit INSERT SQL AnsiToUtf8(DecodeQuotedPrintable(mess.Header.Subje ct)) "lesbar" an. Danke. Josef |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz