AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy Mail Mime Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Indy Mail Mime Problem

Ein Thema von heldvomfeld · begonnen am 13. Aug 2003 · letzter Beitrag vom 13. Aug 2003
Antwort Antwort
heldvomfeld

Registriert seit: 13. Aug 2003
3 Beiträge
 
#1

Indy Mail Mime Problem

  Alt 13. Aug 2003, 10:44
Hallo

Ich habe einen MailClient mit den Indy Komponenten unter Delphi 6 erstellt und nun ein Problem festgestellt wenn ich Mime Mails erhalte in diesem Falle jedoch nur die die von eBay automatisch erstellt wurden..
Der Text wird als Mime Anhang mitgeschickt sowohl in Plain als auch in Html allerdings erhält TIDMessageParts dies immer als TIDAttachment und nicht als TIDText und dieses Attachment lässt sich nicht mal als Text Datei speichern und ich weiß jetzt nicht wie ich auf den Mime Text zugreifen kann.

Hier einmal der Code:

Code:
 for p := 0 to EMail.MessageParts.Count-1 do
  begin
    if (EMail.MessageParts.Items[p] is TIdText) then
    begin
      F_main.Q_MailPLAIN.AsString := (EMail.MessageParts[p] as TIdText).Body.Text;
    end
    else
    if (EMail.MessageParts.Items[p] is TIdAttachment) then
    begin
      with EMail.MessageParts[p] as TIdAttachment do
      begin
       // Message part is an attachment
        F_main.Q_MailANHANG.AsString := 'J';
        AttachmentFileName := ExtractFilePath(Application.ExeName) + F_main.Q_MailID.AsString + '\' + FileName;
        if DirectoryExists(ExtractFileDir(AttachmentFileName)) = false then
          CreateDir(ExtractFileDir(AttachmentFileName));
        if FileExists(AttachmentFileName) then
          F_main.Q_MailANHAENGE.AsString := F_main.Q_MailANHAENGE.AsString + AttachmentFileName + ';'
        else
        if SaveToFile(AttachmentFileName) then
          F_main.Q_MailANHAENGE.AsString := F_main.Q_MailANHAENGE.AsString + AttachmentFileName + ';';
      end;
    end;
  end;
Ich hab auch schon probiert den Anhang zu wandeln bekomm aber immer die Meldung unterschiedliche Typen

Code:
      s1 := EMail.MessageParts[p].ContentType;
      if pos('TEXT/PLAIN',UpperCase(s1)) > 0 then
        F_main.Q_MailPLAIN.AsString := (EMail.MessageParts.Items[p] as TIdText).Body.Text;
Ich hoffe damit kann mir jemand helfen.
  Mit Zitat antworten Zitat
heldvomfeld

Registriert seit: 13. Aug 2003
3 Beiträge
 
#2

Re: Indy Mail Mime Problem

  Alt 13. Aug 2003, 14:41
So bin zwar noch nicht wirklich weiter aber da mir bisher noch niemand helfen konnte werd ich mal etwasd näher drauf eingehen

Also das ist das was ich als Anhangsheader erhalte:

Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset: "ISO-8859-1"

So das es doch eigentlich klar ist das es ein Anhang vom Typ TIdText ist..
Ich hab mir dann mal die entsprechende Stelle (jedenfalls hoff ich das das die richtige Stelle im Indy Source gesucht (IdMessageClient.pas):

Code:
  if (StateIn > State_EndData) then
  begin
    if not Created then
    begin
      if (
        (AnsiPos('name', LowerCase(cRet)) = 0) and
        (AnsiPos('text', LowerCase(cRet)) <> 0) or {do not localize}
        (AnsiPos('multipart', LowerCase(cRet)) <> 0) or {do not localize}
        (AnsiPos('message', LowerCase(cRet)) <> 0) or {do not localize}
        (AnsiPos('attachment', LowerCase(cRet)) <> 0) or {do not localize}
        (LowerCase(cRet) := 'content-type:')
        ) then
        IMFDecoder^.MP := TIdText.Create(AMsg.MessageParts)
      else
        IMFDecoder^.MP := TIdAttachment.Create(AMsg.MessageParts);
      Created := True;
    end;
    with IMFDecoder^.MP do
    begin
      Boundary := cRet;
      BoundaryBegin := True;
      Headers.Add(cRet);
    end;
    AddedTo := True;
    SingleIgnore := True;
  end;
Nur komm ich damit nicht wirklich klar.. und so wie ich das versteh müßt das doch auch korrekt funktionieren da in cRet nie Name steht dafür aber Text gefunden werden müßte zumindest wenn cRet wirklich immer zu Headers hinzugefügt wird naja

vielleicht kann mir ja jetzt einer von euch besser helfen

heldvomfeld
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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