Rückrufbitte-Mail im Journal per Button

Such Dir was aus → https://telefonanlagen-salzkotten.de/termin

1 Like

Dein Link geht nicht?

Da hatte ich dicke Finger :rofl: :rofl: :joy: Danke für den Hinweis. Ist angepasst.

Was hat denn Salzkotten mit Lichtenau zu tun? ,-))

Nun, da habe ich mal gewohnt und das sitzt noch so in den Fingern :slight_smile: Könntest Salzkotten auch durch Paderborn ersetzen oder meinen Nachnamen -telefonanlagen und wirst immer auf die gleiche Seite kommen. Aber Lichtenau fehlte noch in meiner Sammlung :wink:

1 Like

@jlorenz hab das mal nach deiner Anleitung getestet und klappt natürlich nicht :frowning:
es liegt daran: ${name} ${number} damit kommt der fehler ?
image

in der ISE klappt es:

WARUM nochmals wird DAS nicht mehr unterstützt ??? weil zu einfach ist und funktioniert :slight_smile: ? oder warum ?

DANKE !

Hallo @Tele-crew,

wie auch im Summit erwähnt, würde ich den Client mit Logging starten und schauen welche Fehlermeldung der Aufruf genau produziert. Das ist meistens schon recht hilfreich. Siehe auch: Pascom Client mehrfach starten und Logs auslesen - #2 und gucken was die Powershell zum Skript sagt.

Evtl. kann es schon helfen, in den Parametern ganz vorne noch -File zu ergänzen und die Parameter selber zu quoten, also etwa so:

-File "D:\foo\bar.ps1" "${name} ${number}"

mailto unterstützen wir nicht mehr, weil es eben nicht sauber funktioniert hat, und deshalb auch Supportanfragen entstanden sind - was zur jetzt strikteren Validierung geführt hat.

Grüße,
Jan

servus
also MailTo klappt bei uns seit Jahren OHNE Probleme hmm
das Script klappt so:
image

aber wie kann ich nun aus der Nummer die Internationale Vorwahl gegen “0” tauschen (0991… )
danke :=)

Ich denke, dass ist ein Kapazitäts-Problem für Pascom. Entwickler-Skills zu vermitteln kann und sollte nicht deren Aufgabe sein. Die Energie ist denke ich besser in Produktentwicklung aufgehoben.

Tip: Substring() könnte Dir im Skript behilflich sein wenn Du einfach nur Ziffern entfernen willst.

Für das Ersetzen gibt es die Replace-Funktion, die sich prima mit regulären Ausdrücken kombinieren lässt, um sowohl 0049 als auch +49 zu ersetzen. Nachfolgend mal ein ungetestetes Beispiel.

$newNumber = $number -replace '^(0049|\+49)', '0'

Ist aber auch nur die halbe Miete, weil z.B. 00351 auch eine gültige internationale Vorwahl ist ebenso wie 001. Hier müsste man also noch viel mehr tun, wenn es immer funktionieren soll. Am Ende ist es aber doch nur Kosmetik, denn ob da 0049991 oder 0991 steht, spielt vermutlich keine wirkliche Rolle. Also viel Aufwand für wenig Nutzen?!

1 Like

Hallo Jan,

wäre es möglich, noch zu ergänzen, wie man die Labels und ggf. Datum und Uhrzeit mit “anspricht”? Die Übergabe von ${label} funktioniert nicht und ich weiß nicht, woher ich die Information für die Parameter bekomme…

Besten Dank für einen kurzen Tipp.

Gruß, Silke

Die interne Bezeichnung der Label kannst Du in den Labeln nachsehen.

Somit einfach ${MDC_LABEL-xx} hinzufügen wobei xx die Nummer ist, die bei Anlage des Labels automatisch vergeben wurde.

Ob Datum / Uhrzeit als ${date} zur Verfügung steht, muss Jan Dir beantworten.

1 Like

Hier einmal zwei sendmail die wie einsetzten

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} / Telefonnotiz”

E-Mail-Body mit zusätzlichem Infoblock

$body = @"
Telefonnummer: {1}
Anrufer/-in:
Datum: {2}
Anliegen:

☐ Hat zurückgerufen
☐ Bittet um Rückruf
☐ Ruft wieder an
☐ Wünscht Termin
☐ Dringend/ Eilt
☐ Zur Info
☐ Kein Rückruf nötig
"@

Datum ermitteln

$date = Get-Date -Format “dd.MM.yyyy”

Name und Nummer aus den Skript-Parametern abholen

$name = $args[0]
$number = $args[1]

Platzhalter ersetzen

$body = $body -f $name, $number, $date
$subject = $subject -f $name, $number

Nummer ins internationale Format bringen (+49 statt führender 0)

if ($number -match ‘^00\d+’) {
$number = ‘+49’ + $number.Substring(1)
}

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) -replace ‘+’, ‘%20’
$body = [System.Web.HttpUtility]::UrlEncode($body) -replace ‘+’, ‘%20’

Finalen Link generieren

$link = “mailto:${recipient}?subject=${subject}&body=${body}”

E-Mail Client starten

Start-Process $link

und einmal als html email in schön

Parameter: Name, Telefonnummer

param (
[string]$name = $args[0],
[string]$number = $args[1]
)

Datum generieren

$date = Get-Date -Format “dd.MM.yyyy”

HTML-Body mit echten Checkboxen

$htmlBody = @"

body { font-family: Arial, sans-serif; } label { display: block; margin-bottom: 5px; }

📞 Telefonnotiz

👤 Anrufer/-in: $name

📅 Datum: $date

📱 Telefonnummer: $number

📝 Anliegen:

Hat zurückgerufen Bittet um Rückruf Ruft wieder an Wünscht Termin Dringend / Eilt</div Zur Info</div Kein Rückruf nötig</div "@

Outlook starten

$outlook = New-Object -ComObject Outlook.Application
$mail = $outlook.CreateItem(0) # 0 = MailItem

Mail konfigurieren

$mail.Subject = “Telefonnotiz – Rückruf $name”
$mail.To = “*stb-letmathe-trasser.de” # Anpassen!
$mail.HTMLBody = $htmlBody

Öffnet die Mail zum manuellen Bearbeiten oder Absenden

$mail.Display()

1 Like

Hi,
mit normalen Labels klappt es, mit AI Labels leider nicht.
Hat da jemand eine Idee?

Gruß Daniel