Domino 9 und frühere Versionen > ND8: Entwicklung

Lösen eines pdfs aus einem Mime Mail LotusScript

(1/3) > >>

fsinani:
Hallo Freunde,

ich stecke in einer (vermutlichen) Kleinigkeit fest:
Ich möchte aus eingehenden Mails (Rechnungen) lediglich alle PDFs herauslösen und ins FileSystem speichern. Offensichtlich habe ich bisher keine Berührungspunkte mit MIME gehabt.

Ich habe bei Domino Support einen Schnipsel genommen und ihn auf meine Bedürfnisse angepasst.
Mein Problem ist die Zeile:
If (header.GetHeaderVal(True) = "attachment") Then

Hierbei greift "attachment" nicht. Der Code 'umfliegt' den darunterliegenden Code, da keine Übereinstimmung.

Wonach muss ich abfragen, wenns die PDF sein soll?

Anbei der Mime-Extraction-Code

--- Code: --- While Not(mime Is Nothing)
Set header = mime.GetNthHeader("Content-Disposition")
If (Not header Is Nothing) Then
If (header.GetHeaderVal(True) = "attachment") Then
'if the Content-Disposition header exists then the filename parameter must be present
filename = header.GetParamVal("filename")
'strip off the quotation marks on the file name
filename = StrRight(filename, {"})
filename = StrLeft(filename, {"})
'open a file, get the content of the attachment, and write it to the file system

stream.Open FilePath1  & CStr(timestamp) & "_" & filename, "binary"
mime.GetContentAsBytes stream, True
stream.Close
End If 
End If
Set mime = mime.GetNextEntity(SEARCH_DEPTH)
Wend

--- Ende Code ---


Danke Euch.

P.S.
Ich suche peinlicher Weise bereits seit gestern Mittag -  auch die ansonsten aussagekräftige Domino Hilfe ist hierbei etwas dürftig.

jBubbleBoy:
Siehst du den Dokumenten an, das diese einen Anhang haben? z.B. Klammer-Symbol in der Ansicht Mail-Eingang oder mit @AttachmentNames?

fsinani:
Jep,

das Klammersymbol ist in der Inbox zu sehen.

jBubbleBoy:
Dann musst du dich nicht mit Mime herumschlagen sondern kannst die Standard-Notesfunktion verwenden um die Anhänge zu lösen.

Klafu:

--- Zitat ---bei SMTP-Mails sind die Anhangsnamen manchmal mit @AttachmentNames nicht lesbar - dafür gibt es aber einen Parameter, um das Lesen zu erzwingen.

Aus der Hilfe:
@AttachmentNames( excludeMIMEBody )
Parameter
excludeMIMEBody
Boolesches Ergebnis. Optional.
Geben Sie WAHR (1) an, um große MIME-Elemente, die als Anhänge gespeichert sind (aber inline angezeigt werden), auszuschließen. Dies ist die Vorgabe.
Geben Sie FALSCH (0) an, um große MIME-Elemente, die als Anhänge gespeichert sind (aber inline angezeigt werden), aufzunehmen.

Mit dem Parameter 0 hatte ich bisher keine Probleme - und große Performanceunterschiede konnte ich auch nicht feststellen.

Gruß

André
--- Ende Zitat ---

Chris

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln