Autor Thema: Anhänge aus $File lokal ablegen  (Gelesen 3220 mal)

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Anhänge aus $File lokal ablegen
« am: 19.09.14 - 12:39:28 »
Hallo zusammen,

ich muss in einer MailDB die Anhänge aller E-Mails zentral ablegen. Das klappt auch mit @AttachmentNames sehr gut, bis auf ein paar Ausnahmen (Nur ein Absender). Bei diesen Ausnahmen hab ich die folgende Gegebenheiten:

doc.HasEmbedded = False
Body.EmbeddedObjects =
Die Anhänge stecken laut Dokumenteigenschaften in einem von mehreren $File Items
Die $File Items kann ich im Debugger unter Doc.Items nicht finden
Auch mit ForAll item In doc.Items und If (UCase(item.Name) = "$FILE") then finde ich im Document kein $File Item

Dazu kommt, dass ich eine If-Scheife gebaut habe, die mir, wenn doc.HasEmbedded = False ist (ist scheinbar bei allen betroffenen $File E-Mails so), über doc.GetFirstItem("$File") (siehe dazu den Link) anstatt über @AttachmentNames die Anhänge holen soll.

Hier stoße ich zudem auf das Problem, dass es scheinbar egal ist, ob da True oder False steht. Ich hab es nun mehrere Male mit ein und derselben Mail getestet und mal geht mein Script bei der If-Schleife den richtigen Weg und mal den falschen. Siehe Anhang.

Bei direkten Tests ohne die Schleife bleibt mein v2File aber auch leer.

Habt ihr mir einen Tipp wie ich an diese Anhänge kommen kann? Ich hab auch schon diesen Beitrag gelesen und auch ein paar bei IBM aber so ganz komme ich einer Lösung wohl nicht näher.

Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline ghostmw

  • Aktives Mitglied
  • ***
  • Beiträge: 201
  • Geschlecht: Männlich
    • BELOS - Raum+Ressourcenmanagement unter Lotus Notes
Re: Anhänge aus $File lokal ablegen
« Antwort #1 am: 19.09.14 - 14:28:19 »
Hi,

sind das "normale" Mails oder Mime-Mails (sieht man den Eigenschaften des Body-Felds da steht dann was mit MIME drin) , vielleicht gibts da bereits den entscheidenden Unterschied ?

Oder die Attachments hängen am Richtextfeld "Body" dran, dann bekommts du sie nicht wie bei dir via doc.hasEmbedded.

Dann solltest du dir das Richtextitem "Body" holen und dort auf ".hasEmbedded" prüfen. Dort kann auch was dranhängen.

In der Notes-Designer Hilfe gibts zu dem Thema "Handling Richtextitem" einiges an Material.
« Letzte Änderung: 19.09.14 - 14:30:21 von ghostmw »
Grüße
Marco Weller
Lotus Domino / Lotus Notes seit 1996 (ab 4.5x)

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Anhänge aus $File lokal ablegen
« Antwort #2 am: 19.09.14 - 17:13:52 »
Unter bestimmten Umständen liefert doc.HasEmbedded False, obwohl Anhänge drin sind. Diese Abfrage brauchst Du aber auch nicht, weil @AttachmentNamens alles liefert.

Drehs also um:

Code
varFileNames = Evaluate( "@AttachmentNames", doc )
If varFileNames(0) <> "" then
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Anhänge aus $File lokal ablegen
« Antwort #3 am: 22.09.14 - 10:15:24 »
Hallo Marco,

ja. Es sind MIME E-Mails. Wie muss ich das verstehen, dass die Anhänge vielleicht am Body dran hängen?

Die Mail hat laut den Dokumenteigenschaften 7 Body Items und in einem hab ich durch deinen Tipp den folgenden Inhalt gefunden.
Code
Feldname: Body
Datentyp: MIME-Element
Datenlänge: 247 Byte
Seq.-Num.: 4
Doppeleintrags-ID: 3
Feld-Flags: SIGN SEAL 

"
------------=_1411364646-11642-1
Content-Transfer-Encoding: binary
Content-Type: application/octet-stream; name="N_0081_0081056083.pdf"
Content-Disposition: inline; filename="N_0081_0081056083.pdf"

N_0081_0081056083.pdf"
Das ist der Anhang, den ich exportieren möchte. Dazu das passende $File Item
Code
Feldname: $FILE
Datentyp: Angehängtes Objekt
Datenlänge: 57 Byte
Seq.-Num.: 4
Doppeleintrags-ID: 0
Feld-Flags: ATTACH SIGN SEAL SUMMARY 

Objekttyp: Datei
Objekt-ID: 00031272
Objektlänge: 132303
Dateiname: N_0081_0081056083.pdf
Flags: 
Host: 2304
Komprimierungstyp: NONE 
Kodierungstyp: 
Dateiattribute: RW PUBLIC 
Dateigröße: 132303
Datei erstellt: 22.09.2014 07:44:26
Datei geändert: 22.09.2014 07:44:26

Im Debugger sehe ich allerdings nur ein Body Item in dem der Text der Mail drin ist. Wenn ich mir das hole, hab ich auch dort EmbeddedObject =
Wie greife ich auf ein Item zu, das ich im Debugger nicht sehen kann?


Danke Torsten! Als Bedingung ist das klar der bessere Weg.
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Anhänge aus $File lokal ablegen
« Antwort #4 am: 22.09.14 - 10:35:37 »
Mal ne persönliche Frage: Wie alt bist Du?  ;)

Ich wusste, dass das in letzter Zeit mehrfach diskutiert wurde, und habe mal kurz im Forum gesucht...
Und bin auf diesen Post gestossen...

Deshalb die Frage nach dem Alter... Altersdemenz? Alzheimer?  ;)

EDIT: Alter sieht man ja im Profil... Dann ist es wohl eher "jugendliche Unerfahrenheit"...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Anhänge aus $File lokal ablegen
« Antwort #5 am: 22.09.14 - 10:41:24 »
Und es gibt selbst mit @attachments noch Probleme. Damit bekommt man zwar unter Umständen alle Namen raus. Aber man kann nicht alle verarbeiten. Zumindest nicht mit den Bordmitteln die Domino da bietet.

Ich beschäftige mich mit diesen Problemen seit knapp 5 Jahren.  8)
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Anhänge aus $File lokal ablegen
« Antwort #6 am: 22.09.14 - 10:59:48 »
Oh man. Nein, ich habe den Thread nicht vergessen, Allerdings hab ich mich durch die anderen Thematiken wie dass die Items nur in den Dokumenteigenschaften zu sehen sind und nicht im Debugger und das Misterium mit HasEmbedded / EmbeddedObjects irritieren lassen. So bin ich das Problem falsch angegangen... Und diese Thematiken muss ich wohl einfach so als gegeben hinnehmen.

Danke, dass du mir nochmal "die Augen geöffnet" hast.
Ich hoffe, ich bekomme diese super Unterstützung auch noch, wenn ich nicht mehr in die Kategorie "jugendliche Unerfahrenheit" falle.

Grüße und ein dickes Danke an euch!  :)
Chris

„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz