Problem
Aus einem Journaleintrag (oder auch aus einem aktiven Anruf) möchte ich als User mit einem Klick eine E-Mail an einen Kollegen erzeugen.
Lösung
Eine App Aktion im Client anlegen.
Windows
In der Aktion folgende Parameter definieren (Restliche einstellungen nach belieben konfigurieren):
App-Pfad
: powershell.exe
App-Parameter
C:/Users/username/Desktop/sendmail.ps1 ${name} ${number}
Der Pfad in den Parametern ist an den tatsächlichen Speicherort des Skriptes anzupassen.
Das sendmail.ps1
Skript mit folgendem Inhalt erstellen:
# Je nach Windows-Einstellungen (UTF-8 Global aktiviert oder nicht) ist es am besten, das Skript ISO-8859-1 enkodiert abzuspeichern
# Ansonsten kann es bei Umlauten zu Enkodierungsfehlern kommen
# Inhalt und Betreff der E-Mail
$subject = "Rückrufbitte {0} {1}"
$body = "Rückrufbitte von {0} mit der Rufnummer {1}"
$recipient = "jdoe@example.com"
# Name und Nummer aus den Skript-Parametern abholen
$name = $args[0]
$number = $args[1]
# Platzhalter ersetzen
$body = $body -f $name, $number
$subject = $subject -f $name, $number
# Manche E-Mail Clients wollen URL-Enkodierung für die Leerzeichen. In diesem Fall diesen Block einkommentieren
# Add-Type -AssemblyName System.Web
# $subject = [System.Web.HttpUtility]::UrlEncode($subject)
# $body = [System.Web.HttpUtility]::UrlEncode($body)
# Finalen Link generieren
$link = "mailto:${recipient}?subject=${subject}&body=${body}"
# E-Mail Client starten
Start-Process $link
macOS
In der Aktion folgende Parameter definieren (Restliche einstellungen nach belieben konfigurieren):
App-Pfad
: /Users/username/Desktop/sendmail.sh
App-Parameter
${name} ${number}
Der Pfad in den Parametern ist an den tatsächlichen Speicherort des Skriptes anzupassen.
Das sendmail.ps1
Skript mit folgendem Inhalt erstellen:
#!/bin/bash
# Name und Nummer aus den Skript-Parametern abholen und in Inhalt und Betreff einfügen
subject="Rückrufbitte $2"
body="Rückrufbitte von $1 $2"
recipient="jdoe@example.com"
# Finalen Link generieren
mailto_link="mailto:$recipient?subject=$subject&body=$body"
# E-Mail Client öffnen
open "$mailto_link"