Thunderbird 2-teilige Signatur?
Hallo zusammen,
ich habe mal eine Frage zum Thunderbird Client. Im letzten Meeting kam die Idee auf unsere Signatur in 2 Teile auzusplitten.
Aktuell habe ich für alle Kollegen komplett personalisierte, zentrale Signaturen. Ist man mal ehrlich, so ändert sich das ganze nicht so häufig, aber wenn ich mich da gar nicht mehr drum kümmern muss - das wäre natürlich super .
Von Haus aus kann ich bei Thunderbird ja nur Text oder HTML angeben, ich möchte aber beides.
Erster, oberer Teil sollte eine einfache Textsignatur eingesetzt werden, die jeder Mitarbeiter für sich frei im Client definieren kann. Im Sinne von :
Der zweite,untere Baustein wäre dann eine zentrale Firmensignatur als HTML Datei eingebunden.
Wie kann Thunderbird eine Textsignatur UND HTML Signatur einbinden? Gibt es da auch was von about:config?
Danke im voraus
Gruß Sascha
ich habe mal eine Frage zum Thunderbird Client. Im letzten Meeting kam die Idee auf unsere Signatur in 2 Teile auzusplitten.
Aktuell habe ich für alle Kollegen komplett personalisierte, zentrale Signaturen. Ist man mal ehrlich, so ändert sich das ganze nicht so häufig, aber wenn ich mich da gar nicht mehr drum kümmern muss - das wäre natürlich super .
Von Haus aus kann ich bei Thunderbird ja nur Text oder HTML angeben, ich möchte aber beides.
Erster, oberer Teil sollte eine einfache Textsignatur eingesetzt werden, die jeder Mitarbeiter für sich frei im Client definieren kann. Im Sinne von :
Herbert Wichtig, Head of Spülbürstenbestand
Tel.: 0815-1234567
Der zweite,untere Baustein wäre dann eine zentrale Firmensignatur als HTML Datei eingebunden.
Wie kann Thunderbird eine Textsignatur UND HTML Signatur einbinden? Gibt es da auch was von about:config?
Danke im voraus
Gruß Sascha
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1257748992
Url: https://administrator.de/contentid/1257748992
Ausgedruckt am: 22.11.2024 um 07:11 Uhr
5 Kommentare
Neuester Kommentar
Moin,
wird nicht funktionieren. Entweder Nur-Text oder HTML.
Wäre so, als wenn du vorne nen Trabi haben möchtest, das Heck jedoch ein Sprinter sein soll...
Wo ist denn dein/ euer Problem, denn verstanden habe ich es noch nicht.
Zumal es auch besch.... aussieht:
Name, Position und TelefonNr ist Courier New, und die Firmendaten dann in Arial, TimesNewRoman, ComicSans oder Calibri ...
Gruß
em-pie
wird nicht funktionieren. Entweder Nur-Text oder HTML.
Wäre so, als wenn du vorne nen Trabi haben möchtest, das Heck jedoch ein Sprinter sein soll...
Wo ist denn dein/ euer Problem, denn verstanden habe ich es noch nicht.
Zumal es auch besch.... aussieht:
Name, Position und TelefonNr ist Courier New, und die Firmendaten dann in Arial, TimesNewRoman, ComicSans oder Calibri ...
Gruß
em-pie
Servus
Du könntest dir bspw. ein Thunderbird Add-On schreiben das den Inhalt der Signatur des Users in den Inhalt der Firmensignatur einbaut z.B. über einen Platzhalter im Template, oder eben einmalig beim Login über ein externes Skript.
Grüße Uwe
Zitat von @TheUnreal:
Wie kann Thunderbird eine Textsignatur UND HTML Signatur einbinden? Gibt es da auch was von about:config?
Nein das geht damit nicht.Wie kann Thunderbird eine Textsignatur UND HTML Signatur einbinden? Gibt es da auch was von about:config?
Du könntest dir bspw. ein Thunderbird Add-On schreiben das den Inhalt der Signatur des Users in den Inhalt der Firmensignatur einbaut z.B. über einen Platzhalter im Template, oder eben einmalig beim Login über ein externes Skript.
Grüße Uwe
Zitat von @TheUnreal:
@colinardo und vossi
Danke, die Ideen gefallen mir. Vermutlich wäre es dann eher ein PS-Script - ich weiß nicht mal in welcher Sprache die Thunderbird Addons geschrieben werden.
Die werden mit JavaScript geschrieben. In einem Addon sind das bspw. wenige Zeilen um an die Signatur zu kommen@colinardo und vossi
Danke, die Ideen gefallen mir. Vermutlich wäre es dann eher ein PS-Script - ich weiß nicht mal in welcher Sprache die Thunderbird Addons geschrieben werden.
// ...
let account = await browser.accounts.getDefault();
let signature = account.identities.signature;
// ...
Mit Powershell kommst du aber auch an die Signatur die in Thunderbird eingetragen ist...
Auf die schnelle mal zusammengetippelt :
function Get-ThunderbirdSignature {
param(
[parameter(mandatory=$true,ParameterSetName="A")][switch]$Default,
[parameter(mandatory=$true,ParameterSetName="B")][ValidateNotNullOrEmpty()][string]$email
)
if (!(Test-Path "$env:APPDATA\Thunderbird\profiles.ini")){
throw "No thunderbird profiles found!"
}
$tbprofile = "$env:APPDATA\Thunderbird\$([regex]::match((gc "$env:APPDATA\Thunderbird\profiles.ini" -raw),'(?im)^Default=(Profiles/[^\s]+)').Groups[1].Value)" -replace '/','\'
$prefs = gc "$tbprofile\prefs.js" -raw
switch($PSCmdlet.ParameterSetName){
"A" {
$default_account = [regex]::match($prefs,'(?im)"mail.accountmanager.defaultaccount", "([^"]+)').Groups[1].Value
if (!$default_account){
throw "No default account found in profile!"
}
$account_id = [regex]::match($prefs,"(?im)`"mail.account.$default_account.identities`", `"([^`"]+)").Groups[1].Value
$account_signature = [regex]::match($prefs,"(?im)`"mail.identity.$account_id.htmlSigText`", `"([^`"]+)").Groups[1].Value
return $account_signature
}
"B" {
$matches = [regex]::matches($prefs,'(?i)"mail.identity.([^\.]+).useremail", "([^"]+)').Captures | ?{$_.Groups[2].Value -eq $email}
if ($matches.count -gt 0){
$signature = [regex]::match($prefs,"(?im)`"mail.identity.$($matches.Groups[1].Value).htmlSigText`", `"([^`"]+)").Groups[1].Value
return $signature
}else{
throw "Identity not found"
}
}
}
}
Aufruf der Funktion dann mit zwei mögliche Varianten
# get signature from specific account
Get-ThunderbirdSignature -email 'user@domain.tld'
# get signature of default account
Get-ThunderbirdSignature -Default
Und zum zurückschreiben eine weitere Funktion
function Set-ThunderbirdSignature {
param(
[parameter(mandatory=$true,ParameterSetName="DefaultAccount")][switch]$default,
[parameter(mandatory=$true,ParameterSetName="DefinedAccount")][ValidateNotNullOrEmpty()][string]$email,
[parameter(mandatory=$false)][string]$signature,
[parameter(mandatory=$false)][switch]$ashtml
)
if (!(Test-Path "$env:APPDATA\Thunderbird\profiles.ini")){
throw "No thunderbird profiles found!"
}
# determine default tb profile directory
$tbprofile = "$env:APPDATA\Thunderbird\$([regex]::match((gc "$env:APPDATA\Thunderbird\profiles.ini" -raw),'(?im)^Default=(Profiles/[^\s]+)').Groups[1].Value)" -replace '/','\'
# read prefs
$prefs = gc "$tbprofile\prefs.js" -raw
# replace newlines with \n
$sig = $signature -replace [environment]::NewLine,'\n'
$account_id = $null
switch($PSCmdlet.ParameterSetName){
"DefaultAccount" {
$default_account = [regex]::match($prefs,'(?i)"mail.accountmanager.defaultaccount",\s*"([^"]+)').Groups[1].Value
if (!$default_account){
throw "No default account found in profile!"
}
$account_id = [regex]::match($prefs,"(?i)`"mail.account.$default_account.identities`",\s*`"([^`"]+)").Groups[1].Value
}
"DefinedAccount" {
$account_id = [regex]::matches($prefs,'(?i)"mail.identity.([^\.]+).useremail",\s*"([^"]+)').Captures | ?{$_.Groups[2].Value -eq $email} | select -F 1 | %{$_.Groups[1].Value}
}
}
if ($account_id -ne $null){
# set signature format
if ($prefs -match "`"mail.identity.$account_id.htmlSigFormat`""){
$prefs = $prefs -replace "(?<=`"mail.identity.$account_id.htmlSigFormat`",)\s*([^\)]+)",($ashtml.IsPresent.ToString().ToLower())
}else{
$prefs = $prefs -replace '\Z',("`r`n" + "user_pref(`"mail.identity.$account_id.htmlSigFormat`", $($ashtml.IsPresent.ToString().ToLower()));")
}
# replace signature
$prefs = $prefs -replace "(?<=`"mail.identity.$account_id.htmlSigText`",\s*`")([^`"]*)",$sig
# write back prefs
$prefs | sc "$tbprofile\prefs.js"
}else{
throw "Identity not found"
}
}
# set signature from specific account
Set-ThunderbirdSignature -email 'user@domain.tld' -signature "Hallo das ist ein Test`r`nmit einem Zeilenumbruch"
# set signature of default account
Set-ThunderbirdSignature -default -signature "Hallo das ist ein Test`r`nmit einem Zeilenumbruch"
# get signature of default account as html
Set-ThunderbirdSignature -default -signature "<strong>Hallo das ist ein Test</strong>" -ashtml