![]() |
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 ![]() 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 17:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz