Announcement

Collapse
No announcement yet.

Outlook Mail per Drag Drop empfangen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Outlook Mail per Drag Drop empfangen

    Ich versuche verzweifelt per Drag n Drop eine Mail von Outlook entgegenzunehmen. Im ganzen internet sind unendlich viele solcher Anfragen aber keine Antworten zu finden, dass muss doch irgendwie möglich sein?!

    Mit dem IDropTarget Beispiel (COM/DCOM mit Delphi) lassen sich Dateien aus dem Explorer ja problemlos entgegen nehmen, Outlook Mails werden zwar auch erstmal angenommen aber bereits bei der Zeile OleCheck(dataObj.GetData(aFmtEtc, aStgMed)); wird der Fehler ungültige FormatEtc Strucktur gemeldet, wo aber finde ich die gültige FormatEtc Strucktur für Outlook? Bisher:

    with aFmtEtc do begin
    cfFormat := CF_HDROP;
    ptd := nil;
    dwAspect := DVASPECT_CONTENT;
    lindex := -1;
    tymed := TYMED_HGLOBAL;

    end;

    Am praktischen und logischsten wäre ja irgendwie ein handle auf die Mail zu bekommen aber jeder andere Tip ist mir auch willkommen...

  • #2
    Hallo!

    Wir standen vor dem gleichen Problem und haben dann aufgegeben, dass mit Delphi Bordmitteln lösen zu wollen...

    http://www.raize.com/DevTools/DropMaster/Default.asp

    Klappt einwandfrei.
    Drag Drop Outlook, Tobit FaxWare, Explorer etc... alles (nach ein klein wenig experimentieren) kein Problem

    BYE BERND

    Comment


    • #3
      Hmm, ja, drüber nachgedacht habe ich auch schon aber irgendwie scheue ich immer vor Fremdkomponenten, zumal ich glaube, dass in diesem Falle warschienlich mit wenigen Zeilen das Mailitem Object zu erhalten ist.. Ich suche nochmal weiter aber danke schonmal...

      Comment


      • #4
        hallo Bernd,

        ich habe mir auch den Dropmaster besorgt, aber wie bekommt man das mit Tobit Faxware hin?
        Für einen Tip bin ich sehr dankbar.

        mfg
        delphigeorge

        Comment


        • #5
          Hallo!

          Ich habs mal als eigene Methode aus unserem Source herausgezogen.
          Ich hoffe es klappt so...
          Code:
          procedure TSub_Historie.readfax;
          var
          	aSL: TStringlist;
          	s: string;
          	i: Integer;
          	anIStream: IStream;
          begin
          	//Tobit drop
          	if DMTextTarget1.DataObjectHasFormat ( '#TobitMsgData' ) then begin
          		outputdebugstring ( 'fax drop' );
          		s := DMTextTarget1.DataObjectGetFormat('FileGroupDescriptor');
          		aSL := FileListFromFileGroupDescriptor(s);
          		for i := 0 to aSL.Count-1 do begin
          			DataObjectLindex := i;
          			DataObjectTymed := TYMED_ISTREAM;
          			s := DMTextTarget1.DataObjectGetFormat('FileContents');
          
          			// Watch out for nothing at that index...
          			if (s <> '') then begin
          				// Get the IStorage
          				DWORD(anIStream) := DecodeDWORDFromString(s);
          
          				SaveIStreamToFile(anIStream,  'c:\tmp\fax.tif');
          			end;
          			datenmodul.SetFieldvalue ( 'Bezeichnung', asl[i] );
          		end;
          		DMTextTarget1DropCleanup;
          		Exit;
          	end;
          end;
          Speichert das Fax als fax.tif nach c:\tmp
          BYE BERND

          Comment


          • #6
            Vielen Dank,

            das geht wunderbar!
            So zieht er Faxe und emails.
            Wie kann ich denn erkennen was da kommt?

            regards George

            Comment


            • #7
              Hallo!

              ooops keine Ahnung, ich hatte bislang immer nur mit Faxen aus Tobit zu tun

              BYE BERND

              Comment


              • #8
                hab eine Lösung.

                wie Dropmaster Outlook - Beispiel aber
                Tobitheader: 'Port' gibt die entscheidende Auskunft -> 'PostMan' oder Internal.

                regards George

                Comment

                Working...
                X