Beiträge von Sebijk

    Ich setze seit Jahren die:

    • dnsbl.sorbs.net

    Solltest du rausnehmen weil:

    Zitat

    Service Termination Notice
    Please note that this service has been decommissioned and will no longer contain reputation data (all queries will return NXDOMAIN). Given the wide range of potential replacement solutions in the market, Proofpoint cannot make specific recommendations nor endorse any specific replacement product.

    Da mir persönlich die Login-Sicherheit und 2 Faktor wichtig sind, habe ich mir überlegt, wie man das global für alle Dienste gestalten kann.

    Daraus entwickle ich mir die Idee einer Tokenverwaltung.

    Die Tabelle bm60_users_token sieht dabei so aus

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Dort soll man die Tokens und Secrets ablegen können. type steht für die Art des Dienstes z.B. pop3,imap,smtp,caldav,webdav,zpush usw...

    Einstellung in b1gMailServer.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Da man nicht alle Dienste per 2FA absichern kann, ist eine Absicherung pro Dienst hilfreich.

    Wer länger oder vom Anfang an dabei war, weiß dass es nicht nur b1gMail gab. Anbei eine Historie der Produkte:

    • b1gPOP3 - der Vorgänger von b1gMailServer. Stellte ein POP3-Server für b1gMail bereit.
    • b1gArchiver
    • b1gCounter - Ein Besucherzähler
    • b1gSetup - Erstellt ein Installationsprogramm für Windows. Ähnlich wie Inno Setup
    • b1gBB - War ein Diskussionsforum. Unter der GPL lizenziert und wurde früh eingestellt. Später gab es von Forenmitglieder mehrfache Versuche das Produkt weiter/neuzuentwickeln, davon ist allerdings nichts übrig geblieben
    • b1gZip - Ein PHP-Modul, dass Zip-Archive erstellt. Damals hatte PHP kein eigenes zip-Modul gehabt
    • b1gSMS - Damit konnte man einen SMS-Versand-Dienst anbieten. Eine Version 2 war damals in Entwicklung, kam aber darüber nie heraus.
    • b1gWebDoc - Ein PHP-Skript, mit dem man Webdokumentationen erstellen konnte.
    • b1gWebSFX - Erstellte Selbstextrahierende Archive aus ZIP-Dateien für Windows. War nur intern im Gebrauch.
    • SmartHost - Sollte ein Konfigurationswerkzeug ähnliche wie Plesk oder Froxlor werden.
    • faxway.de - Ein Dienst, wo man eine Faxnummer bekommen konnte. Eingehende Faxe wurden dann per E-Mail zugestellt. Wurde eingestellt
    • cron-job.org - Eine Dienst, mit dem man zeitgesteuerte Cronjobs erstellt. Wurde 2017 als OpenSource veröffentlicht und wird aktiv weiterentwickelt.

    In der nächsten Version 7.4.2 werden die Symbole von Font Awesome benutzt. Übergangsweise kann man dann mit der Konstante LEGACY_WEBDISCICONS die alten Symbole weiterhin nutzen.

    b1gMail 7.4 bietet zwei Speicherarten an. Diese wären:

    • Eine Datei pro Objekt (E-Mails werden als Dateiobjekt abgelegt)
    • Eine Datei pro Benutzer (eine SQLite-Datenbank/BlobDB pro Nutzer)

    Welche nutzt ihr und warum haltet ihr es für die bessere Wahl?

    Anmerkung zu eine Datei pro Benutzer:

    Diese sollte man nicht nutzen, wenn ein Shared-Hoster die max. Dateigröße beschränkt. Auch bei NAS-Systemen wird es abgeraten, da nicht jeder mit der FileLocking-Methode von SQLite klarkommt.

    Dafür hat man nur eine Datei pro Benutzer, während bei eine Datei pro Objekt alles einzeln als Datei abgelegt wird. Bei b1gMail 7.3 und früher gab es auch die Möglichkeit die Daten in der MySQL/MariaDB-Datenbank abzuspeichern.

    Du wählst einfach unter Artifacts den Installer aus.

    Alternativ kann man es auch selbst kompilieren. patrick hat den Prozess sehr einfach gestaltet, worauf auch die Automatisierung der Builds basiert. Man braucht Linux mit installierten Docker. Wenn es nicht in der Linux-Distribution selbst enthalten ist, kann man es auch einfach nachinstallieren, z.B. für Ubuntu: https://docs.docker.com/engine/install…-the-repository

    Anschließend ./build.sh im b1gMailServer ausführen und danach bekommt man den b1gMailServer-Installer.

    Das BMS-Plugin ist jeweils in den aktuellsten OSS-Versionen von b1gMail enthalten. Dazu muss nach dem Update das Plugin deaktiviert und wieder aktiviert werden, damit aktuellste DB-Änderungen eingespielt werden. Alternativ das BMS-Plugin von b1gMailServer 2.8.3304 veröffentlicht nehmen, dort ist auch das aktuellste Signatur-Plugin enthalten. Das einzigste was ich bisher noch nicht kompilieren konnte, ist das CleverMailEncryption-Plugin für b1gMailServer (scheitert an OpenSSL).

    Hallo,

    ich habe unter https://github.com/b1gMail/b1gMailServer/issues/20 ein Issue bereits erstellt und habe versucht OpenSSL 3.4.1 zu benutzen, da OpenSSL 1.1.1 seit ein paar Jahren End of Life ist. Hab versucht das mal anzupassen und einen eigenen Branch erstellt: https://github.com/b1gMail-OSS/b1…91d9099e04d51a5


    Zuerst habe ich die Buildumgebung auf ubuntu 22.04 angepasst, da eine höhere CMake-Version benötigt wird. Ebenso habe ich den Parameter --libdir=lib hinzugefügt, weil CMake OpenSSL sonst einfach nicht finden will. Die Kompilierung klappt, allerdings müssen die Deprecated-Meldungen angepasst werden und bisher scheint die kompilierte Version nicht lauffähig zu sein, da es bzgl. fehlende OpenSSL-Bibliotheken beklagt.

    Tatsächlich sind einige Fehler eingeschlichen beim Einbau des Firmen-Felds, die Korrektur: https://github.com/b1gMail-OSS/b1…3e06740bcd35fc0

    Bzgl. der Bestellungsseite:

    die problematische Zeile:

    PHP: serverlib/payments.class.php
    $rgTpl->register_resource('prefsdb', array(&$bmPayment, '__tpl_getTemplate', '__tpl_getTimestamp', '__tpl_getSecure', '__tpl_getTrusted'));

    wurde zwar mit registerResource ersetzt, allerdings ist der Aufruf ab 3.1 als veraltet deklariert. Eine endgültige Lösung ist aktuell nicht in Sicht, siehe auch: https://www.smarty.net/docs/en/api.register.resource.tpl

    Leider hilft mir die Fehlermeldung nicht viel, da ich nicht weiß wo ich suchen muss. Evtl. hilft eine Kompatibilitätsklasse.

    Ersetze mal:

    PHP: serverlib/template.class.php
    include B1GMAIL_DIR . 'serverlib/3rdparty/smarty/Smarty.class.php'; 

    durch

    PHP: serverlib/template.class.php
    include B1GMAIL_DIR . 'serverlib/3rdparty/smarty/SmartyBC.class.php';

    ebenso ersetze

    PHP: serverlib/template.class.php
    class Template extends Smarty {

    durch

    PHP: serverlib/template.class.php
    class Template extends SmartyBC {


    ACHTUNG: Ungetestet. lt. Smarty soll aber dies Kompatibilität zu Code leisten, die für eine ältere Smarty-Version programmiert sind.

    Wenn du mal Zeit und Lust hast, kannst du mithilfe von Sentry versuchen das ganze zu debuggen

    Der Code für die Einbindung in die config.inc.php: