Rückrufbitte aus Journaleintrag via E-Mail versenden

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"