Ich hab mal was gebastelt, was besser funktionieren dürfte:
- Das Add-on 'userChrome.js' installieren.
- Im Profileordner, Unterverzeichnis 'chrome' eine Datei anlegen mit Namen 'userChrome.js'. Dort hinein folgendes:
//needs add-on "userChrome.js"
console.log('userChrome.js started');
function checkTime() {
//Diese drei Werte anpassen!!
const serverNames=['Konto1', 'Konto2']; //Namen der Konten wie in TB angezeigt
const aktivierenUm=8; //nur volle Stunden
const deaktivierenUm=16;
const hour=new Date().getHours();
const active=hour>=aktivierenUm && hour<deaktivierenUm;
console.log("Es ist jetzt "+hour+" Uhr und einige Minuten, Zustand also "+(active?'aktiv':'inaktiv'));
alert("Es ist jetzt "+hour+" Uhr und einige Minuten, Zustand also "+(active?'aktiv':'inaktiv'));
let serverFound=0;
for (const account of MailServices.accounts.accounts) {
const server=account.incomingServer; //nsIMsgIncomingServer
if (serverNames.includes(server.prettyName)) {
serverFound++;
const serverName=server.prettyName;
if (server.loginAtStartUp==active) { //x
// if (Services.prefs.getBoolPref("mail.server."+server.key+".login_at_startup", false)==active) { //y
console.log('Konto "'+serverName+'" ist bereits '+(active?'aktiv':'inaktiv'));
alert('Konto "'+serverName+'" ist bereits '+(active?'aktiv':'inaktiv'));
} else {
console.log('Stelle Konto "'+serverName+'" um auf '+(active?'aktiv':'inaktiv'));
alert('Stelle Konto "'+serverName+'" um auf '+(active?'aktiv':'inaktiv'));
server.loginAtStartUp=active; //x
// Services.prefs.setBoolPref("mail.server."+server.key+".login_at_startup", active); //y
server.doBiff=active; //x
// Services.prefs.setBoolPref("mail.server."+server.key+".check_new_mail", active); //y
server.useIdle=active; //x
// Services.prefs.setBoolPref("mail.server."+server.key+".use_idle", active); //y
}
}
}
if (serverFound!=serverNames.count) {
console.log('Eines der Konten wurde nicht gefunden');
alert('Einige der Konten wurden nicht gefunden');
}
}
checkTime();
Alles anzeigen
In dem Skript müssen zu Beginn der Funktion die folgenden Parameter angepasst werden:
const serverNames=['Konto1', 'Konto2']; //Namen der Konten wie in TB angezeigt
const aktivierenUm=8; //nur volle Stunden
const deaktivierenUm=16;
Das Add-on hat in die Icon-Leiste ein Icon gezaubert, das wie ein Puzzleteil aussieht. Bei jedem klick darauf wird dieses Skript ausgeführt. Zwischen aktivierenUm und deaktivierenUm wird der Mailabruf der genannten Konten aktiviert, sonst deaktiviert.
Die alert können natürlich deaktiviert werden (// davor). Die console.log besser stehen lassen, dann kann man immer in der Fehlerkonsole (über Menü 'Extras'->'Entwickler-Werkzeuge') nachschauen. Die Fehlerkonsole sollte auch immer bei eigenen Experimenten mit dem Skript konsultiert werden. Syntax- und andere Fehler werden dort immer sofort angezeigt.
Für die eigentliche Funktionalität gibt es zwei Versionen, die mit //x und //y markiert sind. Beide funktionieren aber identisch.
Wenn die Konteneinstellung, Abschnitt 'Server-Einstellungen' für eines der beteiligten Konten offen ist, so werden die Änderungen an den Einstellungen nicht sofort angezeigt. Einmal die Darstellung wechseln und zurück genügt aber.
Viel Spaß!
Und natürlich alles ohne Gewährleistung!