[Gelöst] Dateien vom Netzlaufwerk/Server anhängen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
womolbo
**
Beiträge: 26
Registriert: So, 12.04.2020 12:43

[Gelöst] Dateien vom Netzlaufwerk/Server anhängen

Beitrag von womolbo »

Hallo,
momentan bin ich dabei ein Projekt auch per Zugriff übers Internet [WebDAV] lauffähig zu machen.
Innerhalb der Anwendung werden automatisierte eMails mit Anhängen erzeugt und versendet.

Das Problem sind die Anhänge, wenn sie sich auf einem Server [Zugriff per WebDAV] befinden.

Der Aufruf lautet bisher:

Code: Alles auswählen

Dim attachs(0)	
...
attachs(0)=sPfadDatei0
...
NeueNachricht.setAttachement(attachs())							
...
Mailprogramm.sendSimpleMailMessage(NeueNachricht,0)	
Mit Dateien von lokalen Laufwerken läuft die Prozedur einwandfrei.

Bei Dateien vom Server treten zwei unterschiedliche Probleme auf:

Erstens wird nur Laufwerksnotation akzeptiert.
C:\tmp\test.pdf tut einwandfrei
Z:\tmp\test.pdf tut, macht aber Problem 2
https://webdav.mc.gmx.net/tmp/test.pdf scheitert zur Laufzeit, weil die Datei nicht gefunden wird

Selbstverständlich sind die Pfade auf den Server existent und auch gegengetestet.

Durch die Verwendung von Netzlaufwerksbuchstaben [Z:] kann ich das Problen also scheinbar umgehen.

ABER [Problem2]:
Wenn ich per Laufwerksbuchstabe Dateien vom Server an die eMail anhänge, dann werden diese
manchmal, aber nicht immer auf dem Server gelöscht, so dass der nächste Aufruf auf jeden Fall
scheitern wird, weil die Datei ja nicht mehr existiert.
Nach welcher 'Systematik' die angehängte Datei gelöscht wird oder nicht erschließt sich mir bisher nicht.

Hat jemand eine Idee woran das liegen kann?

Vielen Dank für alle [kompetenten] Anworten.
Gruß
Zuletzt geändert von womolbo am Di, 02.08.2022 23:47, insgesamt 1-mal geändert.
LibreOffice Portable 6.3.5.2 (x86), Windows 7
Benutzeravatar
womolbo
**
Beiträge: 26
Registriert: So, 12.04.2020 12:43

Re: [Gelöst] Dateien vom Netzlaufwerk/Server anhängen

Beitrag von womolbo »

Anbei die Ursache/Lösung für das Problem:

Die Methode sendSimpleMailMessage() arbeitet [bei mir], was die Anhänge angeht, nur mit Pfaden in der Notation die von ConvertToURL() zurückgegeben wird!

https://Server.Domain.TLD/Freigabe/Ordn ... /Datei.xyz tut gar nicht und führt immer zu Laufzeitfehlern
Z:\Ordner\SubOrdner\...\Datei.xyz tut im Prinzip löscht aber oft die angehängte Datei
Z:/Ordner/SubOrdner/.../Datei.xyz tut im Prinzip löscht aber oft die angehängte Datei
file:///Z:/Ordner/SubOrdner/.../Datei.xyz funktioniert einwandfrei und ohne Fehler

Dieses Format kann mit der Funktion ConvertToURL() erzeugt werden:

Code: Alles auswählen

...
sPfad="Z:\MeinProjekt\Anhaenge\Liste.pdf"
sPfadURL=ConvertToURL(sPfad)
...
Dim attachs(0)	
attachs(0)=sPfadURL
...
NeueNachricht.setAttachement(attachs())							
...
Mailprogramm.sendSimpleMailMessage(NeueNachricht,0)

LibreOffice Portable 6.3.5.2 (x86), Windows 7
Antworten