emeriks
Goto Top

PowerShell - HTML-Mail senden, welches Hyperlink enthält

Hi,
ich stehe gerade etwas auf dem Schlauch.

Ich will mit PowerShell eine Mail versenden, welche einen HTML-Body hat. Kein Problem, das funktioniert.
Nun soll diese Mail aber einen Hyperlink zu einem internen Dokument enthalten, welches über einen UNC-Pfad erreichbar ist.

Ich habe folgendes versucht:
$HTMLbody = ".......  
<strong>Siehe Report:</strong> <a href=""file:///\\server\share\document.txt"">\\server\share\document.txt</a>  
....."  

Doch damit funktioniert das nicht. Ich kann dann zwar im Outlook den Hyperlink kopieren und das Dokument anstandslos öffnen über "Ausführen..." + kopierten-Link-einfügen.
Jedoch kann ich das Dokument nicht direkt aus der Mail heraus über Mausklick öffnen.

Erstelle ich mit Outlook eine Mail an mich selbst und füge den selben UNS-Pfad als Hyperlink ein, dann kann ich in der empfangenen Mail das Dokument direkt per Mausklick öffnen.
Auch zeigt mir Outlook bei der über Outlook erstellten Testmail einen Tooltip an, wenn ich den Mauszeiger über den Hyperlink führe.
In der mit PS erstellten Mail ändert sich zwar der Mauszeiger auch zur Hand, aber der Tooltip kommt nicht.

Ich habe es mit Outlook 2010 und 2016 versucht.

Irgendwo habe ich da einen Format-Fehler im HTML-Body.
Weiß jemand, wie ich das anstellen muss?

E.

Content-Key: 397399

Url: https://administrator.de/contentid/397399

Ausgedruckt am: 29.03.2024 um 11:03 Uhr

Mitglied: 137846
137846 07.01.2019 aktualisiert um 16:03:43 Uhr
Goto Top
Geht hier problemlos (Client Office 2010 u. 2016), vermutlich macht dir irgendein Antispam/Virus-Suite oder Mailserver-Filter einen Strich durch die Rechnung.

Gruß A.
Mitglied: emeriks
emeriks 07.01.2019 um 16:10:02 Uhr
Goto Top
Zitat von @137846:
Geht hier problemlos (Client Office 2010 u. 2016), vermutlich macht dir irgendein Antispam/Virus-Suite oder Mailserver-Filter einen Strich durch die Rechnung.
Nein, das kann ich ausschließen. Dann würde es doch keinen Unterschied machen, ob ich den Hyperlink per mit PowerShell erstellter Mail oder per mit Outlook erstellter Mail versende.
Mitglied: 137846
137846 07.01.2019 aktualisiert um 16:15:39 Uhr
Goto Top
Wir wissen ja nicht über welche Server du jeweils schickst und mit welchen Optionen. Schau mal in den effektiven Quelltext und den Header am Zielclient und vergleiche.
Mitglied: emeriks
emeriks 07.01.2019 aktualisiert um 16:15:43 Uhr
Goto Top
Zitat von @137846:
Wir wissen ja nicht über welche Server du jeweils schickst. Schau mal in den effektiven Quelltext und den Header am Zielclient und vergleiche.
Wieso? Die Mail kommt doch an.

Fehler gefunden:
Die Doppel-"" waren es. Ich habe in der Frage geschrieben
$HTMLbody = "..."
Tatsächlich ist es aber
$HTMLbody = '...'
Damit werden die Doppel-"" nicht ersetzt.

Ich danke trotzdem!
Mitglied: 137846
137846 07.01.2019 aktualisiert um 16:23:24 Uhr
Goto Top
Zitat von @emeriks:

Zitat von @137846:
Wir wissen ja nicht über welche Server du jeweils schickst. Schau mal in den effektiven Quelltext und den Header am Zielclient und vergleiche.
Wieso? Die Mail kommt doch an.
Aber was dazischen sitzt was evt. verändert kennen wir nicht.
Fehler gefunden:
Die Doppel-"" waren es. Ich habe in der Frage geschrieben
$HTMLbody = "..."
Tatsächlich ist es aber
$HTMLbody = '...'
Damit werden die Doppel-"" nicht ersetzt.

Ich danke trotzdem!
Geht damit hier aber trotzdem, ist ja richtig escaped. Trotzdem würde ich es innerhalb von doppelten Anführungszeichen mit Backtick `escapen

Aber für HTML Body würde ich als Alternative wenn doch Variablen drin vorkommen sollen ein Here-Doc empfehlen:

$htmlbody = @"  
...Text kann alles enthalten auch einzelne " machen nichts  
Variablen werden hier auch noch aufgelöst $bla
"@